////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2017 Qualcomm Technologies, Inc.
// All Rights Reserved.
// Confidential and Proprietary - Qualcomm Technologies, Inc.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// @file  camxipeanr10register.cpp
/// @brief CamX IQ ANR register update implementation
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Camx Headers
#include "camxipeanr10register.h"
#include "camxiqinterface.h"
#include "camxutils.h"

CAMX_NAMESPACE_BEGIN

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ANRRegisterSetting::SetBlend1Registers
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CamxResult ANRRegisterSetting::SetBlend1Registers(
    ANR_REG_PASS*      pANRData,
    IPEANRRegCmd*      pPassRegCmd)

{
    // DC Blend bypass
    pPassRegCmd->dcBlend1Cmd.bypass.bitfields.DCBLEND1_BYPASS = pANRData->dcblend1.DCBlend1_Bypass;

    return CamxResultSuccess;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ANRRegisterSetting::SetRNFRegisters
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CamxResult ANRRegisterSetting::SetRNFRegisters(
    ANR_REG_PASS*      pANRData,
    IPEANRRegCmd*      pPassRegCmd)
{
    // RNF Bypass Chroma  / Luma
    pPassRegCmd->rnfCmd.bypass.bitfields.RNF_BYPASS__CHROMA = pANRData->rnf.RNF_BYPASS__CHROMA;
    pPassRegCmd->rnfCmd.bypass.bitfields.RNF_BYPASS__LUMA   = pANRData->rnf.RNF_BYPASS__LUMA;

    // RNF Debug
    pPassRegCmd->rnfCmd.debug.bitfields.RNF_DEBUG__ININD_CHROMA  = pANRData->rnf.RNF_DEBUG__ININD_CHROMA;
    pPassRegCmd->rnfCmd.debug.bitfields.RNF_DEBUG__ININD_LUMA    = pANRData->rnf.RNF_DEBUG__ININD_LUMA;
    pPassRegCmd->rnfCmd.debug.bitfields.RNF_DEBUG__OUTIND_CHROMA = pANRData->rnf.RNF_DEBUG__OUTIND_CHROMA;
    pPassRegCmd->rnfCmd.debug.bitfields.RNF_DEBUG__OUTIND_LUMA   = pANRData->rnf.RNF_DEBUG__OUTIND_LUMA;

    // RNF Fir Config C
    pPassRegCmd->rnfCmd.firConfigC.bitfields.RNF_FIR_CFG_C__FIR_1X1_WEIGHT    = pANRData->rnf.RNF_FIR_CFG_C__FIR_1X1_WEIGHT;
    pPassRegCmd->rnfCmd.firConfigC.bitfields.RNF_FIR_CFG_C__FIR_3X3_WEIGHT    = pANRData->rnf.RNF_FIR_CFG_C__FIR_3X3_WEIGHT;
    pPassRegCmd->rnfCmd.firConfigC.bitfields.RNF_FIR_CFG_C__FIR_DIR_ISOTROPIC = pANRData->rnf.RNF_FIR_CFG_C__FIR_DIR_ISOTROPIC;

    // RNF Fir Config Y
    pPassRegCmd->rnfCmd.firConfigY.bitfields.RNF_FIR_CFG_Y__FIR_3X3_WEIGHT    = pANRData->rnf.RNF_FIR_CFG_Y__FIR_3X3_WEIGHT;
    pPassRegCmd->rnfCmd.firConfigY.bitfields.RNF_FIR_CFG_Y__FIR_5X5HV_WEIGHT  = pANRData->rnf.RNF_FIR_CFG_Y__FIR_5X5HV_WEIGHT;
    pPassRegCmd->rnfCmd.firConfigY.bitfields.RNF_FIR_CFG_Y__FIR_DIR_ISOTROPIC = pANRData->rnf.RNF_FIR_CFG_Y__FIR_DIR_ISOTROPIC;
    pPassRegCmd->rnfCmd.firConfigY.bitfields.RNF_FIR_CFG_Y__FIR_TRANS_SIZE    = pANRData->rnf.RNF_FIR_CFG_Y__FIR_TRANS_SIZE;

    // RNF Fir directional
    pPassRegCmd->rnfCmd.firDirThrC.bitfields.RNF_FIR_DIRECTIONAL_THR_C__DG_CEN_THR    =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_C__DG_CEN_THR;
    pPassRegCmd->rnfCmd.firDirThrC.bitfields.RNF_FIR_DIRECTIONAL_THR_C__PAR3_LINE_CNT =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_C__PAR3_LINE_CNT;
    pPassRegCmd->rnfCmd.firDirThrC.bitfields.RNF_FIR_DIRECTIONAL_THR_C__PAR_CEN_THR   =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_C__PAR_CEN_THR;
    pPassRegCmd->rnfCmd.firDirThrC.bitfields.RNF_FIR_DIRECTIONAL_THR_C__PAR_LINE_THR  =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_C__PAR_LINE_THR;
    pPassRegCmd->rnfCmd.firDirThrC.bitfields.RNF_FIR_DIRECTIONAL_THR_C__PRP3_LINE_CNT =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_C__PRP3_LINE_CNT;
    pPassRegCmd->rnfCmd.firDirThrC.bitfields.RNF_FIR_DIRECTIONAL_THR_C__PRP_CEN_THR   =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_C__PRP_CEN_THR;
    pPassRegCmd->rnfCmd.firDirThrC.bitfields.RNF_FIR_DIRECTIONAL_THR_C__PRP_LINE_THR  =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_C__PRP_LINE_THR;

    pPassRegCmd->rnfCmd.firDirThrY.bitfields.RNF_FIR_DIRECTIONAL_THR_Y__DG_CEN_THR    =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_Y__DG_CEN_THR;
    pPassRegCmd->rnfCmd.firDirThrY.bitfields.RNF_FIR_DIRECTIONAL_THR_Y__PAR3_LINE_CNT =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_Y__PAR3_LINE_CNT;
    pPassRegCmd->rnfCmd.firDirThrY.bitfields.RNF_FIR_DIRECTIONAL_THR_Y__PAR5_LINE_CNT =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_Y__PAR5_LINE_CNT;
    pPassRegCmd->rnfCmd.firDirThrY.bitfields.RNF_FIR_DIRECTIONAL_THR_Y__PAR_CEN_THR   =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_Y__PAR_CEN_THR;
    pPassRegCmd->rnfCmd.firDirThrY.bitfields.RNF_FIR_DIRECTIONAL_THR_Y__PAR_LINE_THR  =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_Y__PAR_LINE_THR;
    pPassRegCmd->rnfCmd.firDirThrY.bitfields.RNF_FIR_DIRECTIONAL_THR_Y__PRP3_LINE_CNT =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_Y__PRP3_LINE_CNT;
    pPassRegCmd->rnfCmd.firDirThrY.bitfields.RNF_FIR_DIRECTIONAL_THR_Y__PRP5_LINE_CNT =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_Y__PRP5_LINE_CNT;
    pPassRegCmd->rnfCmd.firDirThrY.bitfields.RNF_FIR_DIRECTIONAL_THR_Y__PRP_CEN_THR   =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_Y__PRP_CEN_THR;
    pPassRegCmd->rnfCmd.firDirThrY.bitfields.RNF_FIR_DIRECTIONAL_THR_Y__PRP_LINE_THR  =
        pANRData->rnf.RNF_FIR_DIRECTIONAL_THR_Y__PRP_LINE_THR;

    pPassRegCmd->rnfCmd.firTransC0.bitfields.RNF_FIR_TRANS_C_CNT_0__C1     = pANRData->rnf.RNF_FIR_TRANS_C_CNT_0__C1;
    pPassRegCmd->rnfCmd.firTransC0.bitfields.RNF_FIR_TRANS_C_CNT_0__C3     = pANRData->rnf.RNF_FIR_TRANS_C_CNT_0__C3;
    pPassRegCmd->rnfCmd.firTransC0.bitfields.RNF_FIR_TRANS_C_CNT_0__M3     = pANRData->rnf.RNF_FIR_TRANS_C_CNT_0__M3;
    pPassRegCmd->rnfCmd.firTransC0.bitfields.RNF_FIR_TRANS_C_CNT_0__P1_CNT = pANRData->rnf.RNF_FIR_TRANS_C_CNT_0__P1_CNT;
    pPassRegCmd->rnfCmd.firTransC0.bitfields.RNF_FIR_TRANS_C_CNT_0__P1_THR = pANRData->rnf.RNF_FIR_TRANS_C_CNT_0__P1_THR;
    pPassRegCmd->rnfCmd.firTransC0.bitfields.RNF_FIR_TRANS_C_CNT_0__P3_CNT = pANRData->rnf.RNF_FIR_TRANS_C_CNT_0__P3_CNT;
    pPassRegCmd->rnfCmd.firTransC0.bitfields.RNF_FIR_TRANS_C_CNT_0__P3_THR = pANRData->rnf.RNF_FIR_TRANS_C_CNT_0__P3_THR;

    pPassRegCmd->rnfCmd.firTransC1.bitfields.RNF_FIR_TRANS_C_CNT_1__C5     = pANRData->rnf.RNF_FIR_TRANS_C_CNT_1__C5;
    pPassRegCmd->rnfCmd.firTransC1.bitfields.RNF_FIR_TRANS_C_CNT_1__M5     = pANRData->rnf.RNF_FIR_TRANS_C_CNT_1__M5;
    pPassRegCmd->rnfCmd.firTransC1.bitfields.RNF_FIR_TRANS_C_CNT_1__P5_CNT = pANRData->rnf.RNF_FIR_TRANS_C_CNT_1__P5_CNT;
    pPassRegCmd->rnfCmd.firTransC1.bitfields.RNF_FIR_TRANS_C_CNT_1__P5_THR = pANRData->rnf.RNF_FIR_TRANS_C_CNT_1__P5_THR;

    pPassRegCmd->rnfCmd.firTransC2.bitfields.RNF_FIR_TRANS_C_CNT_2__C7         = pANRData->rnf.RNF_FIR_TRANS_C_CNT_2__C7;
    pPassRegCmd->rnfCmd.firTransC2.bitfields.RNF_FIR_TRANS_C_CNT_2__M7         = pANRData->rnf.RNF_FIR_TRANS_C_CNT_2__M7;
    pPassRegCmd->rnfCmd.firTransC2.bitfields.RNF_FIR_TRANS_C_CNT_2__P3X3_CNT   = pANRData->rnf.RNF_FIR_TRANS_C_CNT_2__P3X3_CNT;
    pPassRegCmd->rnfCmd.firTransC2.bitfields.RNF_FIR_TRANS_C_CNT_2__P3X3_THR   = pANRData->rnf.RNF_FIR_TRANS_C_CNT_2__P3X3_THR;
    pPassRegCmd->rnfCmd.firTransC2.bitfields.RNF_FIR_TRANS_C_CNT_2__P7_CNT     = pANRData->rnf.RNF_FIR_TRANS_C_CNT_2__P7_CNT;
    pPassRegCmd->rnfCmd.firTransC2.bitfields.RNF_FIR_TRANS_C_CNT_2__P7_THR     = pANRData->rnf.RNF_FIR_TRANS_C_CNT_2__P7_THR;
    pPassRegCmd->rnfCmd.firTransC2.bitfields.RNF_FIR_TRANS_C_CNT_2__P9_CNT     = pANRData->rnf.RNF_FIR_TRANS_C_CNT_2__P9_CNT;

    pPassRegCmd->rnfCmd.firTransC3.bitfields.RNF_FIR_TRANS_C_CNT_3__C9         = pANRData->rnf.RNF_FIR_TRANS_C_CNT_3__C9;
    pPassRegCmd->rnfCmd.firTransC3.bitfields.RNF_FIR_TRANS_C_CNT_3__M9         = pANRData->rnf.RNF_FIR_TRANS_C_CNT_3__M9;
    pPassRegCmd->rnfCmd.firTransC3.bitfields.RNF_FIR_TRANS_C_CNT_3__P11_CNT    = pANRData->rnf.RNF_FIR_TRANS_C_CNT_3__P11_CNT;
    pPassRegCmd->rnfCmd.firTransC3.bitfields.RNF_FIR_TRANS_C_CNT_3__P9_THR     = pANRData->rnf.RNF_FIR_TRANS_C_CNT_3__P9_THR;

    pPassRegCmd->rnfCmd.firTransY0.bitfields.RNF_FIR_TRANS_Y_CNT_0__C1     = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_0__C1;
    pPassRegCmd->rnfCmd.firTransY0.bitfields.RNF_FIR_TRANS_Y_CNT_0__C3     = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_0__C3;
    pPassRegCmd->rnfCmd.firTransY0.bitfields.RNF_FIR_TRANS_Y_CNT_0__M3     = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_0__M3;
    pPassRegCmd->rnfCmd.firTransY0.bitfields.RNF_FIR_TRANS_Y_CNT_0__P1_CNT = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_0__P1_CNT;
    pPassRegCmd->rnfCmd.firTransY0.bitfields.RNF_FIR_TRANS_Y_CNT_0__P1_THR = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_0__P1_THR;
    pPassRegCmd->rnfCmd.firTransY0.bitfields.RNF_FIR_TRANS_Y_CNT_0__P3_CNT = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_0__P3_CNT;
    pPassRegCmd->rnfCmd.firTransY0.bitfields.RNF_FIR_TRANS_Y_CNT_0__P3_THR = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_0__P3_THR;

    pPassRegCmd->rnfCmd.firTransY1.bitfields.RNF_FIR_TRANS_Y_CNT_1__C5     = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_1__C5;
    pPassRegCmd->rnfCmd.firTransY1.bitfields.RNF_FIR_TRANS_Y_CNT_1__M5     = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_1__M5;
    pPassRegCmd->rnfCmd.firTransY1.bitfields.RNF_FIR_TRANS_Y_CNT_1__P5_CNT = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_1__P5_CNT;
    pPassRegCmd->rnfCmd.firTransY1.bitfields.RNF_FIR_TRANS_Y_CNT_1__P5_THR = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_1__P5_THR;

    pPassRegCmd->rnfCmd.firTransY2.bitfields.RNF_FIR_TRANS_Y_CNT_2__C7       = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_2__C7;
    pPassRegCmd->rnfCmd.firTransY2.bitfields.RNF_FIR_TRANS_Y_CNT_2__M7       = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_2__M7;
    pPassRegCmd->rnfCmd.firTransY2.bitfields.RNF_FIR_TRANS_Y_CNT_2__P3X3_CNT = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_2__P3X3_CNT;
    pPassRegCmd->rnfCmd.firTransY2.bitfields.RNF_FIR_TRANS_Y_CNT_2__P3X3_THR = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_2__P3X3_THR;
    pPassRegCmd->rnfCmd.firTransY2.bitfields.RNF_FIR_TRANS_Y_CNT_2__P7_CNT   = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_2__P7_CNT;
    pPassRegCmd->rnfCmd.firTransY2.bitfields.RNF_FIR_TRANS_Y_CNT_2__P7_THR   = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_2__P7_THR;
    pPassRegCmd->rnfCmd.firTransY2.bitfields.RNF_FIR_TRANS_Y_CNT_2__P9_CNT   = pANRData->rnf.RNF_FIR_TRANS_Y_CNT_2__P9_CNT;

    pPassRegCmd->rnfCmd.indRankCCFG.bitfields.RNF_INDRANK_C_CFG__BYPASS         =
        pANRData->rnf.RNF_INDRANK_C_CFG__BYPASS;
    pPassRegCmd->rnfCmd.indRankCCFG.bitfields.RNF_INDRANK_C_CFG__CENTER_PAR_THR =
        pANRData->rnf.RNF_INDRANK_C_CFG__CENTER_PAR_THR;
    pPassRegCmd->rnfCmd.indRankCCFG.bitfields.RNF_INDRANK_C_CFG__DG_PRP_HV_THR  =
        pANRData->rnf.RNF_INDRANK_C_CFG__DG_PRP_HV_THR;
    pPassRegCmd->rnfCmd.indRankCCFG.bitfields.RNF_INDRANK_C_CFG__PAR_THR        =
        pANRData->rnf.RNF_INDRANK_C_CFG__PAR_THR;
    pPassRegCmd->rnfCmd.indRankCCFG.bitfields.RNF_INDRANK_C_CFG__PRP_THR        =
        pANRData->rnf.RNF_INDRANK_C_CFG__PRP_THR;
    pPassRegCmd->rnfCmd.indRankCCFG.bitfields.RNF_INDRANK_C_CFG__WIDTH          =
        pANRData->rnf.RNF_INDRANK_C_CFG__WIDTH;

    pPassRegCmd->rnfCmd.indRankCDG.bitfields.RNF_INDRANK_C_DG__PAR_CNT0 = pANRData->rnf.RNF_INDRANK_C_DG__PAR_CNT0;
    pPassRegCmd->rnfCmd.indRankCDG.bitfields.RNF_INDRANK_C_DG__PAR_CNT1 = pANRData->rnf.RNF_INDRANK_C_DG__PAR_CNT1;
    pPassRegCmd->rnfCmd.indRankCDG.bitfields.RNF_INDRANK_C_DG__PRP_CNT0 = pANRData->rnf.RNF_INDRANK_C_DG__PRP_CNT0;
    pPassRegCmd->rnfCmd.indRankCDG.bitfields.RNF_INDRANK_C_DG__PRP_CNT1 = pANRData->rnf.RNF_INDRANK_C_DG__PRP_CNT1;

    pPassRegCmd->rnfCmd.indRankCHV.bitfields.RNF_INDRANK_C_HV__PAR_CNT0 = pANRData->rnf.RNF_INDRANK_C_HV__PAR_CNT0;
    pPassRegCmd->rnfCmd.indRankCHV.bitfields.RNF_INDRANK_C_HV__PAR_CNT1 = pANRData->rnf.RNF_INDRANK_C_HV__PAR_CNT1;
    pPassRegCmd->rnfCmd.indRankCHV.bitfields.RNF_INDRANK_C_HV__PRP_CNT0 = pANRData->rnf.RNF_INDRANK_C_HV__PRP_CNT0;
    pPassRegCmd->rnfCmd.indRankCHV.bitfields.RNF_INDRANK_C_HV__PRP_CNT1 = pANRData->rnf.RNF_INDRANK_C_HV__PRP_CNT1;

    pPassRegCmd->rnfCmd.indRankConfigYCFG.bitfields.RNF_INDRANK_Y_CFG__BYPASS         =
        pANRData->rnf.RNF_INDRANK_Y_CFG__BYPASS;
    pPassRegCmd->rnfCmd.indRankConfigYCFG.bitfields.RNF_INDRANK_Y_CFG__CENTER_PAR_THR =
        pANRData->rnf.RNF_INDRANK_Y_CFG__CENTER_PAR_THR;
    pPassRegCmd->rnfCmd.indRankConfigYCFG.bitfields.RNF_INDRANK_Y_CFG__DG_PRP_HV_THR  =
        pANRData->rnf.RNF_INDRANK_Y_CFG__DG_PRP_HV_THR;
    pPassRegCmd->rnfCmd.indRankConfigYCFG.bitfields.RNF_INDRANK_Y_CFG__LENGTH         =
        pANRData->rnf.RNF_INDRANK_Y_CFG__LENGTH;
    pPassRegCmd->rnfCmd.indRankConfigYCFG.bitfields.RNF_INDRANK_Y_CFG__PAR_THR        =
        pANRData->rnf.RNF_INDRANK_Y_CFG__PAR_THR;
    pPassRegCmd->rnfCmd.indRankConfigYCFG.bitfields.RNF_INDRANK_Y_CFG__PRP_THR        =
        pANRData->rnf.RNF_INDRANK_Y_CFG__PRP_THR;
    pPassRegCmd->rnfCmd.indRankConfigYCFG.bitfields.RNF_INDRANK_Y_CFG__WIDTH          =
        pANRData->rnf.RNF_INDRANK_Y_CFG__WIDTH;

    pPassRegCmd->rnfCmd.indRankYDG.bitfields.RNF_INDRANK_Y_DG__PAR_CNT0 = pANRData->rnf.RNF_INDRANK_Y_DG__PAR_CNT0;
    pPassRegCmd->rnfCmd.indRankYDG.bitfields.RNF_INDRANK_Y_DG__PAR_CNT1 = pANRData->rnf.RNF_INDRANK_Y_DG__PAR_CNT1;
    pPassRegCmd->rnfCmd.indRankYDG.bitfields.RNF_INDRANK_Y_DG__PAR_CNT2 = pANRData->rnf.RNF_INDRANK_Y_DG__PAR_CNT2;
    pPassRegCmd->rnfCmd.indRankYDG.bitfields.RNF_INDRANK_Y_DG__PRP_CNT0 = pANRData->rnf.RNF_INDRANK_Y_DG__PRP_CNT0;
    pPassRegCmd->rnfCmd.indRankYDG.bitfields.RNF_INDRANK_Y_DG__PRP_CNT1 = pANRData->rnf.RNF_INDRANK_Y_DG__PRP_CNT1;
    pPassRegCmd->rnfCmd.indRankYDG.bitfields.RNF_INDRANK_Y_DG__PRP_CNT2 = pANRData->rnf.RNF_INDRANK_Y_DG__PRP_CNT2;

    pPassRegCmd->rnfCmd.indRankYHV.bitfields.RNF_INDRANK_Y_HV__PAR_CNT0 = pANRData->rnf.RNF_INDRANK_Y_HV__PAR_CNT0;
    pPassRegCmd->rnfCmd.indRankYHV.bitfields.RNF_INDRANK_Y_HV__PAR_CNT1 = pANRData->rnf.RNF_INDRANK_Y_HV__PAR_CNT1;
    pPassRegCmd->rnfCmd.indRankYHV.bitfields.RNF_INDRANK_Y_HV__PAR_CNT2 = pANRData->rnf.RNF_INDRANK_Y_HV__PAR_CNT2;
    pPassRegCmd->rnfCmd.indRankYHV.bitfields.RNF_INDRANK_Y_HV__PRP_CNT0 = pANRData->rnf.RNF_INDRANK_Y_HV__PRP_CNT0;
    pPassRegCmd->rnfCmd.indRankYHV.bitfields.RNF_INDRANK_Y_HV__PRP_CNT1 = pANRData->rnf.RNF_INDRANK_Y_HV__PRP_CNT1;
    pPassRegCmd->rnfCmd.indRankYHV.bitfields.RNF_INDRANK_Y_HV__PRP_CNT2 = pANRData->rnf.RNF_INDRANK_Y_HV__PRP_CNT2;

    pPassRegCmd->rnfCmd.peakChromaIsoThr.bitfields.RNF_PEAK_CHROMA_ISOTROPIC_THRS__UTHR =
        pANRData->rnf.RNF_PEAK_CHROMA_ISOTROPIC_THRS__UTHR;
    pPassRegCmd->rnfCmd.peakChromaIsoThr.bitfields.RNF_PEAK_CHROMA_ISOTROPIC_THRS__VTHR =
        pANRData->rnf.RNF_PEAK_CHROMA_ISOTROPIC_THRS__VTHR;

    pPassRegCmd->rnfCmd.peakConfigc.bitfields.RNF_PEAK_CFG_C__PEAK_CENTER_W  = pANRData->rnf.RNF_PEAK_CFG_C__PEAK_CENTER_W;
    pPassRegCmd->rnfCmd.peakConfigc.bitfields.RNF_PEAK_CFG_C__PEAK_CORR_MODE = pANRData->rnf.RNF_PEAK_CFG_C__PEAK_CORR_MODE;
    pPassRegCmd->rnfCmd.peakConfigc.bitfields.RNF_PEAK_CFG_C__PEAK_CORR_RANK = pANRData->rnf.RNF_PEAK_CFG_C__PEAK_CORR_RANK;

    pPassRegCmd->rnfCmd.peakConfigY.bitfields.RNF_PEAK_CFG_Y__PEAK_CENTER_W  = pANRData->rnf.RNF_PEAK_CFG_Y__PEAK_CENTER_W;
    pPassRegCmd->rnfCmd.peakConfigY.bitfields.RNF_PEAK_CFG_Y__PEAK_CORR_MODE = pANRData->rnf.RNF_PEAK_CFG_Y__PEAK_CORR_MODE;
    pPassRegCmd->rnfCmd.peakConfigY.bitfields.RNF_PEAK_CFG_Y__PEAK_CORR_RANK = pANRData->rnf.RNF_PEAK_CFG_Y__PEAK_CORR_RANK;

    pPassRegCmd->rnfCmd.peakDCCondS0C.bitfields.RNF_PEAK_DCCONDS0_C__C1X1_DCCNT3 =
        pANRData->rnf.RNF_PEAK_DCCONDS0_C__C1x1_DCCNT3;
    pPassRegCmd->rnfCmd.peakDCCondS0C.bitfields.RNF_PEAK_DCCONDS0_C__C1X1_DCTHR  =
        pANRData->rnf.RNF_PEAK_DCCONDS0_C__C1x1_DCTHR;
    pPassRegCmd->rnfCmd.peakDCCondS0C.bitfields.RNF_PEAK_DCCONDS0_C__C3X3_DCCNT3 =
        pANRData->rnf.RNF_PEAK_DCCONDS0_C__C3x3_DCCNT3;
    pPassRegCmd->rnfCmd.peakDCCondS0C.bitfields.RNF_PEAK_DCCONDS0_C__C3X3_DCTHR  =
        pANRData->rnf.RNF_PEAK_DCCONDS0_C__C3x3_DCTHR;

    pPassRegCmd->rnfCmd.peakDCCondS0Y.bitfields.RNF_PEAK_DCCONDS0_Y__C1X1_DCCNT3 =
        pANRData->rnf.RNF_PEAK_DCCONDS0_Y__C1x1_DCCNT3;
    pPassRegCmd->rnfCmd.peakDCCondS0Y.bitfields.RNF_PEAK_DCCONDS0_Y__C1X1_DCCNT5 =
        pANRData->rnf.RNF_PEAK_DCCONDS0_Y__C1x1_DCCNT5;
    pPassRegCmd->rnfCmd.peakDCCondS0Y.bitfields.RNF_PEAK_DCCONDS0_Y__C1X1_DCTHR  =
        pANRData->rnf.RNF_PEAK_DCCONDS0_Y__C1x1_DCTHR;
    pPassRegCmd->rnfCmd.peakDCCondS0Y.bitfields.RNF_PEAK_DCCONDS0_Y__C3X3_DCCNT3 =
        pANRData->rnf.RNF_PEAK_DCCONDS0_Y__C3x3_DCCNT3;
    pPassRegCmd->rnfCmd.peakDCCondS0Y.bitfields.RNF_PEAK_DCCONDS0_Y__C3X3_DCCNT5 =
        pANRData->rnf.RNF_PEAK_DCCONDS0_Y__C3x3_DCCNT5;
    pPassRegCmd->rnfCmd.peakDCCondS0Y.bitfields.RNF_PEAK_DCCONDS0_Y__C3X3_DCTHR  =
        pANRData->rnf.RNF_PEAK_DCCONDS0_Y__C3x3_DCTHR;


    pPassRegCmd->rnfCmd.peakDCCondS1C.bitfields.RNF_PEAK_DCCONDS1_C__C5X5_DCCNT3 =
        pANRData->rnf.RNF_PEAK_DCCONDS1_C__C5x5_DCCNT3;
    pPassRegCmd->rnfCmd.peakDCCondS1C.bitfields.RNF_PEAK_DCCONDS1_C__C5X5_DCTHR  =
        pANRData->rnf.RNF_PEAK_DCCONDS1_C__C5x5_DCTHR;
    pPassRegCmd->rnfCmd.peakDCCondS1C.bitfields.RNF_PEAK_DCCONDS1_C__C7X7_DCCNT3 =
        pANRData->rnf.RNF_PEAK_DCCONDS1_C__C7x7_DCCNT3;
    pPassRegCmd->rnfCmd.peakDCCondS1C.bitfields.RNF_PEAK_DCCONDS1_C__C7X7_DCTHR  =
        pANRData->rnf.RNF_PEAK_DCCONDS1_C__C7x7_DCTHR;

    pPassRegCmd->rnfCmd.peakDCCondS1Y.bitfields.RNF_PEAK_DCCONDS1_Y__C5X5_DCCNT3 =
        pANRData->rnf.RNF_PEAK_DCCONDS1_Y__C5x5_DCCNT3;
    pPassRegCmd->rnfCmd.peakDCCondS1Y.bitfields.RNF_PEAK_DCCONDS1_Y__C5X5_DCCNT5 =
        pANRData->rnf.RNF_PEAK_DCCONDS1_Y__C5x5_DCCNT5;
    pPassRegCmd->rnfCmd.peakDCCondS1Y.bitfields.RNF_PEAK_DCCONDS1_Y__C5X5_DCTHR  =
        pANRData->rnf.RNF_PEAK_DCCONDS1_Y__C5x5_DCTHR;
    pPassRegCmd->rnfCmd.peakDCCondS1Y.bitfields.RNF_PEAK_DCCONDS1_Y__C7X7_DCCNT3 =
        pANRData->rnf.RNF_PEAK_DCCONDS1_Y__C7x7_DCCNT3;
    pPassRegCmd->rnfCmd.peakDCCondS1Y.bitfields.RNF_PEAK_DCCONDS1_Y__C7X7_DCCNT5 =
        pANRData->rnf.RNF_PEAK_DCCONDS1_Y__C7x7_DCCNT5;
    pPassRegCmd->rnfCmd.peakDCCondS1Y.bitfields.RNF_PEAK_DCCONDS1_Y__C7X7_DCTHR  =
        pANRData->rnf.RNF_PEAK_DCCONDS1_Y__C7x7_DCTHR;

    pPassRegCmd->rnfCmd.peakImgCondS0C.bitfields.RNF_PEAK_IMGCONDS0_C__DCLEVEL_THR =
        pANRData->rnf.RNF_PEAK_IMGCONDS0_C__DCLEVEL_THR;
    pPassRegCmd->rnfCmd.peakImgCondS0C.bitfields.RNF_PEAK_IMGCONDS0_C__DC_THR      =
        pANRData->rnf.RNF_PEAK_IMGCONDS0_C__DC_THR;
    pPassRegCmd->rnfCmd.peakImgCondS0C.bitfields.RNF_PEAK_IMGCONDS0_C__LEVEL_THR   =
        pANRData->rnf.RNF_PEAK_IMGCONDS0_C__LEVEL_THR;

    pPassRegCmd->rnfCmd.peakImgCondS0Y.bitfields.RNF_PEAK_IMGCONDS0_Y__DCLEVEL_THR =
        pANRData->rnf.RNF_PEAK_IMGCONDS0_Y__DCLEVEL_THR;
    pPassRegCmd->rnfCmd.peakImgCondS0Y.bitfields.RNF_PEAK_IMGCONDS0_Y__DC_THR      =
        pANRData->rnf.RNF_PEAK_IMGCONDS0_Y__DC_THR;
    pPassRegCmd->rnfCmd.peakImgCondS0Y.bitfields.RNF_PEAK_IMGCONDS0_Y__LEVEL_THR   =
        pANRData->rnf.RNF_PEAK_IMGCONDS0_Y__LEVEL_THR;

    pPassRegCmd->rnfCmd.peakImgCondS1C.bitfields.RNF_PEAK_IMGCONDS1_C__MINVAL = pANRData->rnf.RNF_PEAK_IMGCONDS1_C__MINVAL;
    pPassRegCmd->rnfCmd.peakImgCondS1C.bitfields.RNF_PEAK_IMGCONDS1_C__OFFSET = pANRData->rnf.RNF_PEAK_IMGCONDS1_C__OFFSET;
    pPassRegCmd->rnfCmd.peakImgCondS1C.bitfields.RNF_PEAK_IMGCONDS1_C__SLOPE  = pANRData->rnf.RNF_PEAK_IMGCONDS1_C__SLOPE;

    pPassRegCmd->rnfCmd.peakImgCondS1Y.bitfields.RNF_PEAK_IMGCONDS1_Y__MINVAL = pANRData->rnf.RNF_PEAK_IMGCONDS1_Y__MINVAL;
    pPassRegCmd->rnfCmd.peakImgCondS1Y.bitfields.RNF_PEAK_IMGCONDS1_Y__OFFSET = pANRData->rnf.RNF_PEAK_IMGCONDS1_Y__OFFSET;
    pPassRegCmd->rnfCmd.peakImgCondS1Y.bitfields.RNF_PEAK_IMGCONDS1_Y__SLOPE  = pANRData->rnf.RNF_PEAK_IMGCONDS1_Y__SLOPE;

    pPassRegCmd->rnfCmd.peakLumaIsoThr.bitfields.RNF_PEAK_LUMA_ISOTROPIC_THRS__YTHR =
        pANRData->rnf.RNF_PEAK_LUMA_ISOTROPIC_THRS__YTHR;

    pPassRegCmd->rnfCmd.subBypass.bitfields.RNF_BYPASS_SUB__FIR_CHROMA      = pANRData->rnf.RNF_BYPASS_SUB__FIR_CHROMA;
    pPassRegCmd->rnfCmd.subBypass.bitfields.RNF_BYPASS_SUB__FIR_LUMA        = pANRData->rnf.RNF_BYPASS_SUB__FIR_LUMA;
    pPassRegCmd->rnfCmd.subBypass.bitfields.RNF_BYPASS_SUB__IND_RANK_CHROMA = pANRData->rnf.RNF_BYPASS_SUB__IND_RANK_CHROMA;
    pPassRegCmd->rnfCmd.subBypass.bitfields.RNF_BYPASS_SUB__IND_RANK_LUMA   = pANRData->rnf.RNF_BYPASS_SUB__IND_RANK_LUMA;
    pPassRegCmd->rnfCmd.subBypass.bitfields.RNF_BYPASS_SUB__PEAK_CHROMA     = pANRData->rnf.RNF_BYPASS_SUB__PEAK_CHROMA;
    pPassRegCmd->rnfCmd.subBypass.bitfields.RNF_BYPASS_SUB__PEAK_LUMA       = pANRData->rnf.RNF_BYPASS_SUB__PEAK_LUMA;

    return CamxResultSuccess;

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ANRRegisterSetting::SetDCUSRegisters
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CamxResult ANRRegisterSetting::SetDCUSRegisters(
    ANR_REG_PASS*      pANRData,
    IPEANRRegCmd*      pPassRegCmd)
{
    pPassRegCmd->dcusCmd.bypass.bitfields.DCUS_BYPASS = pANRData->dcupscaler.DCUS_bypass;

    return CamxResultSuccess;


}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ANRRegisterSetting::SetCFilter2Registers
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CamxResult ANRRegisterSetting::SetCFilter2Registers(
    ANR_REG_PASS*      pANRData,
    IPEANRRegCmd*      pPassRegCmd)
{
    pPassRegCmd->filter2Cmd.byPass.bitfields.CYLPF_FILTER2_BYPASS = pANRData->cylpf_filter2.CYLPF_Filter2_Bypass;

    pPassRegCmd->filter2Cmd.chroma.bitfields.CYLPF_FILTER2_CHROMA__ASYM       =
        pANRData->cylpf_filter2.CYLPF_Filter2_Chroma__Asym;
    pPassRegCmd->filter2Cmd.chroma.bitfields.CYLPF_FILTER2_CHROMA__FILTERSIZE =
        pANRData->cylpf_filter2.CYLPF_Filter2_Chroma__FilterSize;

    pPassRegCmd->filter2Cmd.chromaFiltering.bitfields.CYLPF_FILTER2_CHROMAFILTERING__MINIMALSIZE =
        pANRData->cylpf_filter2.CYLPF_Filter2_ChromaFiltering__MinimalSize;

    pPassRegCmd->filter2Cmd.chromaIndThr11.bitfields.CYLPF_FILTER2_CHROMAIND_THR11 =
        pANRData->cylpf_filter2.CYLPF_Filter2_ChromaInd_THR11;

    pPassRegCmd->filter2Cmd.chromaIndThr9.bitfields.CYLPF_FILTER2_CHROMAIND_THR9   =
        pANRData->cylpf_filter2.CYLPF_Filter2_ChromaInd_THR9;

    pPassRegCmd->filter2Cmd.debug.bitfields.CYLPF_FILTER2_DEBUG = pANRData->cylpf_filter2.CYLPF_Filter2_Debug;

    pPassRegCmd->filter2Cmd.greyIndThr11.bitfields.CYLPF_FILTER2_GREYIND_THR11 =
        pANRData->cylpf_filter2.CYLPF_Filter2_GreyInd_THR11;
    pPassRegCmd->filter2Cmd.greyIndThr9.bitfields.CYLPF_FILTER2_GREYIND_THR9   =
        pANRData->cylpf_filter2.CYLPF_Filter2_GreyInd_THR9;

    pPassRegCmd->filter2Cmd.medianThr.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THR__T3X3        =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1Thr__T3x3;
    pPassRegCmd->filter2Cmd.medianThr.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THR__T3X3CORNERS =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1Thr__T3x3corners;
    pPassRegCmd->filter2Cmd.medianThr.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THR__T3X3INNER   =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1Thr__T3x3inner;
    pPassRegCmd->filter2Cmd.medianThr.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THR__T5X5        =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1Thr__T5x5;
    pPassRegCmd->filter2Cmd.medianThr.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THR__T5X5CORNERS =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1Thr__T5x5corners;
    pPassRegCmd->filter2Cmd.medianThr.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THR__T5X5SIDES   =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1Thr__T5x5sides;


    pPassRegCmd->filter2Cmd.medianThrDG12.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRDG12__T1X1 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrDg12__T1x1;
    pPassRegCmd->filter2Cmd.medianThrDG12.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRDG12__T3X1 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrDg12__T3x1;
    pPassRegCmd->filter2Cmd.medianThrDG12.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRDG12__T3X3 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrDg12__T3x3;

    pPassRegCmd->filter2Cmd.medianThrDG12.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRDG12__T5X1 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrDg12__T5x1;
    pPassRegCmd->filter2Cmd.medianThrDG12.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRDG12__T5X3 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrDg12__T5x3;
    pPassRegCmd->filter2Cmd.medianThrDG12.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRDG12__T5X5 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrDg12__T5x5;

    pPassRegCmd->filter2Cmd.medianThrHV.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRHV__T1X1 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrHV__T1x1;
    pPassRegCmd->filter2Cmd.medianThrHV.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRHV__T3X1 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrHV__T3x1;
    pPassRegCmd->filter2Cmd.medianThrHV.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRHV__T3X3 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrHV__T3x3;
    pPassRegCmd->filter2Cmd.medianThrHV.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRHV__T5X1 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrHV__T5x1;
    pPassRegCmd->filter2Cmd.medianThrHV.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRHV__T5X3 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrHV__T5x3;
    pPassRegCmd->filter2Cmd.medianThrHV.bitfields.CYLPF_FILTER2_MEDIAN_CNT1THRHV__T5X5 =
        pANRData->cylpf_filter2.CYLPF_Filter2_Median_Cnt1ThrHV__T5x5;

    pPassRegCmd->filter2Cmd.subBypass.bitfields.CYLPF_FILTER2_BYPASS_SUB__CHROMABILAT  =
        pANRData->cylpf_filter2.CYLPF_Filter2_Bypass_Sub__ChromaBilat;
    pPassRegCmd->filter2Cmd.subBypass.bitfields.CYLPF_FILTER2_BYPASS_SUB__CHROMAIND    =
        pANRData->cylpf_filter2.CYLPF_Filter2_Bypass_Sub__ChromaInd;
    pPassRegCmd->filter2Cmd.subBypass.bitfields.CYLPF_FILTER2_BYPASS_SUB__CHROMAMEDIAN =
        pANRData->cylpf_filter2.CYLPF_Filter2_Bypass_Sub__ChromaMedian;
    pPassRegCmd->filter2Cmd.subBypass.bitfields.CYLPF_FILTER2_BYPASS_SUB__GREYIND      =
        pANRData->cylpf_filter2.CYLPF_Filter2_Bypass_Sub__GreyInd;
    pPassRegCmd->filter2Cmd.subBypass.bitfields.CYLPF_FILTER2_BYPASS_SUB__IND          =
        pANRData->cylpf_filter2.CYLPF_Filter2_Bypass_Sub__Ind;

    return CamxResultSuccess;

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ANRRegisterSetting::SetBlend2Registers
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CamxResult ANRRegisterSetting::SetBlend2Registers(
    ANR_REG_PASS*      pANRData,
    IPEANRRegCmd*      pPassRegCmd)
{
    pPassRegCmd->dcBlend2Cmd.cblend11X11.bitfields.DCBLEND2_CBLEND_11X11__LNR_CNR0 =
        pANRData->dcblend2.DCBlend2_CBlend_11x11__LNR_CNR0;
    pPassRegCmd->dcBlend2Cmd.cblend11X11.bitfields.DCBLEND2_CBLEND_11X11__LNR_CNR1 =
        pANRData->dcblend2.DCBlend2_CBlend_11x11__LNR_CNR1;

    pPassRegCmd->dcBlend2Cmd.cBlend1X1.bitfields.DCBLEND2_CBLEND_1X1__LNR_CNR0 =
        pANRData->dcblend2.DCBlend2_CBlend_1x1__LNR_CNR0;
    pPassRegCmd->dcBlend2Cmd.cBlend1X1.bitfields.DCBLEND2_CBLEND_1X1__LNR_CNR1 =
        pANRData->dcblend2.DCBlend2_CBlend_1x1__LNR_CNR1;

    pPassRegCmd->dcBlend2Cmd.cBlend3X3.bitfields.DCBLEND2_CBLEND_3X3__LNR_CNR0 =
        pANRData->dcblend2.DCBlend2_CBlend_3x3__LNR_CNR0;
    pPassRegCmd->dcBlend2Cmd.cBlend3X3.bitfields.DCBLEND2_CBLEND_3X3__LNR_CNR1 =
        pANRData->dcblend2.DCBlend2_CBlend_3x3__LNR_CNR1;

    pPassRegCmd->dcBlend2Cmd.cBlend5X5.bitfields.DCBLEND2_CBLEND_5X5__LNR_CNR0 =
        pANRData->dcblend2.DCBlend2_CBlend_5x5__LNR_CNR0;
    pPassRegCmd->dcBlend2Cmd.cBlend5X5.bitfields.DCBLEND2_CBLEND_5X5__LNR_CNR1 =
        pANRData->dcblend2.DCBlend2_CBlend_5x5__LNR_CNR1;

    pPassRegCmd->dcBlend2Cmd.cBlend7X7.bitfields.DCBLEND2_CBLEND_7X7__LNR_CNR0 =
        pANRData->dcblend2.DCBlend2_CBlend_7x7__LNR_CNR0;
    pPassRegCmd->dcBlend2Cmd.cBlend7X7.bitfields.DCBLEND2_CBLEND_7X7__LNR_CNR1 =
        pANRData->dcblend2.DCBlend2_CBlend_7x7__LNR_CNR1;

    pPassRegCmd->dcBlend2Cmd.cBlend9X9.bitfields.DCBLEND2_CBLEND_9X9__LNR_CNR0 =
        pANRData->dcblend2.DCBlend2_CBlend_9x9__LNR_CNR0;
    pPassRegCmd->dcBlend2Cmd.cBlend9X9.bitfields.DCBLEND2_CBLEND_9X9__LNR_CNR1 =
        pANRData->dcblend2.DCBlend2_CBlend_9x9__LNR_CNR1;

    pPassRegCmd->dcBlend2Cmd.cDebug.bitfields.DCBLEND2_C_DEBUG             =
        pANRData->dcblend2.DCBlend2_C_debug;

    pPassRegCmd->dcBlend2Cmd.chromaBypass.bitfields.DCBLEND2_BYPASS_CHROMA =
        pANRData->dcblend2.DCBlend2_Bypass_Chroma;

    pPassRegCmd->dcBlend2Cmd.chromaConfig.bitfields.DCBLEND2_CHROMA_CFG__CBLEND_CHROMACOND    =
        pANRData->dcblend2.DCBlend2_Chroma_Cfg__CBlend_ChromaCond;
    pPassRegCmd->dcBlend2Cmd.chromaConfig.bitfields.DCBLEND2_CHROMA_CFG__CBLEND_GREYMODE      =
        pANRData->dcblend2.DCBlend2_Chroma_Cfg__CBlend_GreyMode;
    pPassRegCmd->dcBlend2Cmd.chromaConfig.bitfields.DCBLEND2_CHROMA_CFG__CBLEND_SIZECOND      =
        pANRData->dcblend2.DCBlend2_Chroma_Cfg__CBlend_SizeCond;
    pPassRegCmd->dcBlend2Cmd.chromaConfig.bitfields.DCBLEND2_CHROMA_CFG__CDCBLENDINTER_BYPASS =
        pANRData->dcblend2.DCBlend2_Chroma_Cfg__CDcBlendInter_Bypass;
    pPassRegCmd->dcBlend2Cmd.chromaConfig.bitfields.DCBLEND2_CHROMA_CFG__CDCIND_CFG           =
        pANRData->dcblend2.DCBlend2_Chroma_Cfg__CDCInd_Cfg;
    pPassRegCmd->dcBlend2Cmd.chromaConfig.bitfields.DCBLEND2_CHROMA_CFG__CDCIND_SIZETHR       =
        pANRData->dcblend2.DCBlend2_Chroma_Cfg__CDCInd_SizeThr;
    pPassRegCmd->dcBlend2Cmd.chromaConfig.bitfields.DCBLEND2_CHROMA_CFG__CDC_HP_MODE          =
        pANRData->dcblend2.DCBlend2_Chroma_Cfg__CDC_HP_MODE;
    pPassRegCmd->dcBlend2Cmd.chromaConfig.bitfields.DCBLEND2_CHROMA_CFG__EDGEMAPMODE          =
        pANRData->dcblend2.DCBlend2_Chroma_Cfg__EdgeMapMode;


    pPassRegCmd->dcBlend2Cmd.lumaBypass.bitfields.DCBLEND2_BYPASS_LUMA =
        pANRData->dcblend2.DCBlend2_Bypass_Luma;

    pPassRegCmd->dcBlend2Cmd.lumaConfig.bitfields.DCBLEND2_LUMA_CFG__EDGEMAPMODE          =
        pANRData->dcblend2.DCBlend2_Luma_Cfg__EdgeMapMode;
    pPassRegCmd->dcBlend2Cmd.lumaConfig.bitfields.DCBLEND2_LUMA_CFG__LUMADCNF_BYPASS      =
        pANRData->dcblend2.DCBlend2_Luma_Cfg__LumaDCNF_Bypass;
    pPassRegCmd->dcBlend2Cmd.lumaConfig.bitfields.DCBLEND2_LUMA_CFG__YDCBLENDINTER_BYPASS =
        pANRData->dcblend2.DCBlend2_Luma_Cfg__YDcBlendInter_Bypass;
    pPassRegCmd->dcBlend2Cmd.lumaConfig.bitfields.DCBLEND2_LUMA_CFG__YDC_HP_MODE          =
        pANRData->dcblend2.DCBlend2_Luma_Cfg__YDC_HP_MODE;
    pPassRegCmd->dcBlend2Cmd.lumaConfig.bitfields.DCBLEND2_LUMA_CFG__YINBLENDINTER_BYPASS =
        pANRData->dcblend2.DCBlend2_Luma_Cfg__YInBlendInter_Bypass;
    pPassRegCmd->dcBlend2Cmd.lumaConfig.bitfields.DCBLEND2_LUMA_CFG__YIN_HP_MODE          =
        pANRData->dcblend2.DCBlend2_Luma_Cfg__YIN_HP_MODE;


    pPassRegCmd->dcBlend2Cmd.yBlend1X1.bitfields.DCBLEND2_YBLEND_1X1__LNR0_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_1x1__LNR0_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend1X1.bitfields.DCBLEND2_YBLEND_1X1__LNR0_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_1x1__LNR0_CNR1;
    pPassRegCmd->dcBlend2Cmd.yBlend1X1.bitfields.DCBLEND2_YBLEND_1X1__LNR1_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_1x1__LNR1_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend1X1.bitfields.DCBLEND2_YBLEND_1X1__LNR1_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_1x1__LNR1_CNR1;

    pPassRegCmd->dcBlend2Cmd.yBlend3X3.bitfields.DCBLEND2_YBLEND_3X3__LNR0_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_3x3__LNR0_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend3X3.bitfields.DCBLEND2_YBLEND_3X3__LNR0_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_3x3__LNR0_CNR1;
    pPassRegCmd->dcBlend2Cmd.yBlend3X3.bitfields.DCBLEND2_YBLEND_3X3__LNR1_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_3x3__LNR1_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend3X3.bitfields.DCBLEND2_YBLEND_3X3__LNR1_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_3x3__LNR1_CNR1;

    pPassRegCmd->dcBlend2Cmd.yBlend5X5.bitfields.DCBLEND2_YBLEND_5X5__LNR0_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_5x5__LNR0_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend5X5.bitfields.DCBLEND2_YBLEND_5X5__LNR0_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_5x5__LNR0_CNR1;
    pPassRegCmd->dcBlend2Cmd.yBlend5X5.bitfields.DCBLEND2_YBLEND_5X5__LNR1_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_5x5__LNR1_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend5X5.bitfields.DCBLEND2_YBLEND_5X5__LNR1_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_5x5__LNR1_CNR1;

    pPassRegCmd->dcBlend2Cmd.yBlend7X7.bitfields.DCBLEND2_YBLEND_7X7__LNR0_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_7x7__LNR0_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend7X7.bitfields.DCBLEND2_YBLEND_7X7__LNR0_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_7x7__LNR0_CNR1;
    pPassRegCmd->dcBlend2Cmd.yBlend7X7.bitfields.DCBLEND2_YBLEND_7X7__LNR1_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_7x7__LNR1_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend7X7.bitfields.DCBLEND2_YBLEND_7X7__LNR1_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_7x7__LNR1_CNR1;


    pPassRegCmd->dcBlend2Cmd.yBlend9X9.bitfields.DCBLEND2_YBLEND_9X9__LNR0_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_9x9__LNR0_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend9X9.bitfields.DCBLEND2_YBLEND_9X9__LNR0_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_9x9__LNR0_CNR1;
    pPassRegCmd->dcBlend2Cmd.yBlend9X9.bitfields.DCBLEND2_YBLEND_9X9__LNR1_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_9x9__LNR1_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend9X9.bitfields.DCBLEND2_YBLEND_9X9__LNR1_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_9x9__LNR1_CNR1;

    pPassRegCmd->dcBlend2Cmd.yBlend1X1Alt.bitfields.DCBLEND2_YBLEND_1X1_ALT__LNR0_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_1x1_alt__LNR0_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend1X1Alt.bitfields.DCBLEND2_YBLEND_1X1_ALT__LNR0_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_1x1_alt__LNR0_CNR1;
    pPassRegCmd->dcBlend2Cmd.yBlend1X1Alt.bitfields.DCBLEND2_YBLEND_1X1_ALT__LNR1_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_1x1_alt__LNR1_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend1X1Alt.bitfields.DCBLEND2_YBLEND_1X1_ALT__LNR1_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_1x1_alt__LNR1_CNR1;

    pPassRegCmd->dcBlend2Cmd.yBlend3X3Alt.bitfields.DCBLEND2_YBLEND_3X3_ALT__LNR0_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_3x3_alt__LNR0_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend3X3Alt.bitfields.DCBLEND2_YBLEND_3X3_ALT__LNR0_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_3x3_alt__LNR0_CNR1;
    pPassRegCmd->dcBlend2Cmd.yBlend3X3Alt.bitfields.DCBLEND2_YBLEND_3X3_ALT__LNR1_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_3x3_alt__LNR1_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend3X3Alt.bitfields.DCBLEND2_YBLEND_3X3_ALT__LNR1_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_3x3_alt__LNR1_CNR1;

    pPassRegCmd->dcBlend2Cmd.yBlend5X5Alt.bitfields.DCBLEND2_YBLEND_5X5_ALT__LNR0_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_5x5_alt__LNR0_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend5X5Alt.bitfields.DCBLEND2_YBLEND_5X5_ALT__LNR0_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_5x5_alt__LNR0_CNR1;
    pPassRegCmd->dcBlend2Cmd.yBlend5X5Alt.bitfields.DCBLEND2_YBLEND_5X5_ALT__LNR1_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_5x5_alt__LNR1_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend5X5Alt.bitfields.DCBLEND2_YBLEND_5X5_ALT__LNR1_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_5x5_alt__LNR1_CNR1;

    pPassRegCmd->dcBlend2Cmd.yBlend7X7Alt.bitfields.DCBLEND2_YBLEND_7X7_ALT__LNR0_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_7x7_alt__LNR0_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend7X7Alt.bitfields.DCBLEND2_YBLEND_7X7_ALT__LNR0_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_7x7_alt__LNR0_CNR1;
    pPassRegCmd->dcBlend2Cmd.yBlend7X7Alt.bitfields.DCBLEND2_YBLEND_7X7_ALT__LNR1_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_7x7_alt__LNR1_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend7X7Alt.bitfields.DCBLEND2_YBLEND_7X7_ALT__LNR1_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_7x7_alt__LNR1_CNR1;


    pPassRegCmd->dcBlend2Cmd.yBlend9X9Alt.bitfields.DCBLEND2_YBLEND_9X9_ALT__LNR0_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_9x9_alt__LNR0_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend9X9Alt.bitfields.DCBLEND2_YBLEND_9X9_ALT__LNR0_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_9x9_alt__LNR0_CNR1;
    pPassRegCmd->dcBlend2Cmd.yBlend9X9Alt.bitfields.DCBLEND2_YBLEND_9X9_ALT__LNR1_CNR0 =
        pANRData->dcblend2.DCBlend2_YBlend_9x9_alt__LNR1_CNR0;
    pPassRegCmd->dcBlend2Cmd.yBlend9X9Alt.bitfields.DCBLEND2_YBLEND_9X9_ALT__LNR1_CNR1 =
        pANRData->dcblend2.DCBlend2_YBlend_9x9_alt__LNR1_CNR1;

    pPassRegCmd->dcBlend2Cmd.yDebug.bitfields.DCBLEND2_Y_DEBUG = pANRData->dcblend2.DCBlend2_Y_debug;

    return CamxResultSuccess;

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ANRRegisterSetting::SetCYLPFPreLensGainRegisters
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CamxResult ANRRegisterSetting::SetCYLPFPreLensGainRegisters(
    ANR_REG_PASS*      pANRData,
    IPEANRRegCmd* pPassRegCmd)
{
    pPassRegCmd->cylpfPreLensGainCmd.bypass.bitfields.CYLPF_BYPASS = pANRData->cylpf.CYLPF_Bypass;

    pPassRegCmd->cylpfPreLensGainCmd.config.bitfields.CYLPF_CFG__CHROMAAVGRADIUS    =
        pANRData->cylpf.CYLPF_Cfg__ChromaAvgRadius;
    pPassRegCmd->cylpfPreLensGainCmd.config.bitfields.CYLPF_CFG__SLIM3X3DERIVATIVES =
        pANRData->cylpf.CYLPF_Cfg__Slim3x3Derivatives;
    pPassRegCmd->cylpfPreLensGainCmd.config.bitfields.CYLPF_CFG__THRAVGSUPPORT      =
        pANRData->cylpf.CYLPF_Cfg__ThrAvgSupport;
    pPassRegCmd->cylpfPreLensGainCmd.config.bitfields.CYLPF_CFG__YMAXDERMODE        =
        pANRData->cylpf.CYLPF_Cfg__YMaxDerMode;

    pPassRegCmd->cylpfPreLensGainCmd.debug.bitfields.CYLPF_DEBUG__INPUT  = pANRData->cylpf.CYLPF_DEBUG__input;
    pPassRegCmd->cylpfPreLensGainCmd.debug.bitfields.CYLPF_DEBUG__OUTPUT = pANRData->cylpf.CYLPF_DEBUG__output;

    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__CLPF_DCINDTHRMOD     =
        pANRData->cylpf.CYLPF_Bypass_Sub__CLPF_DCIndThrMod;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__CLPF_DECISIONS       =
        pANRData->cylpf.CYLPF_Bypass_Sub__CLPF_DECISIONS;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__CLPF_FILTERING       =
        pANRData->cylpf.CYLPF_Bypass_Sub__CLPF_FILTERING;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__CLPF_UVCOMP          =
        pANRData->cylpf.CYLPF_Bypass_Sub__CLPF_UVcomp;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__IND_BUFFER           =
        pANRData->cylpf.CYLPF_Bypass_Sub__IND_BUFFER;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__LENSGAIN             =
        pANRData->cylpf.CYLPF_Bypass_Sub__LensGain;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__PRECALCCHR           =
        pANRData->cylpf.CYLPF_Bypass_Sub__PreCalcChr;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__PRECALCTHRUV         =
        pANRData->cylpf.CYLPF_Bypass_Sub__PreCalcThrUV;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__PRECALCTHRYDEP       =
        pANRData->cylpf.CYLPF_Bypass_Sub__PreCalcThrYDep;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__PRECALCUVDER         =
        pANRData->cylpf.CYLPF_Bypass_Sub__PreCalcUVder;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__PRECALCYDER          =
        pANRData->cylpf.CYLPF_Bypass_Sub__PreCalcYder;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__TCF_TRANSDETECTION   =
        pANRData->cylpf.CYLPF_Bypass_Sub__TCF_TransDetection;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__YLPF_DCINDTHRMOD     =
        pANRData->cylpf.CYLPF_Bypass_Sub__YLPF_DCIndThrMod;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__YLPF_DECISIONS       =
        pANRData->cylpf.CYLPF_Bypass_Sub__YLPF_DECISIONS;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__YLPF_DER2DCINDTHRMOD =
        pANRData->cylpf.CYLPF_Bypass_Sub__YLPF_Der2DCIndThrMod;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__YLPF_FILTERING       =
        pANRData->cylpf.CYLPF_Bypass_Sub__YLPF_FILTERING;
    pPassRegCmd->cylpfPreLensGainCmd.subBypass.bitfields.CYLPF_BYPASS_SUB__YLPF_UVCOMP          =
        pANRData->cylpf.CYLPF_Bypass_Sub__YLPF_UVcomp;

    pPassRegCmd->cylpfPreLensGainCmd.tcfConfig.bitfields.CYLPF_TCF_CFG__CHECKSIGNMODE     =
        pANRData->cylpf.CYLPF_TCF_Cfg__CheckSignMode;
    pPassRegCmd->cylpfPreLensGainCmd.tcfConfig.bitfields.CYLPF_TCF_CFG__SETALLTRANSITIONS =
        pANRData->cylpf.CYLPF_TCF_Cfg__SetAllTransitions;
    pPassRegCmd->cylpfPreLensGainCmd.tcfConfig.bitfields.CYLPF_TCF_CFG__THRAVGSUPPORT     =
        pANRData->cylpf.CYLPF_TCF_Cfg__ThrAvgSupport;

    pPassRegCmd->cylpfPreLensGainCmd.tcfHighThrLimit.bitfields.CYLPF_TCF_TRANSITION_THR_HIGH_LIMITS__BOTLIM =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_High_Limits__BotLim;
    pPassRegCmd->cylpfPreLensGainCmd.tcfHighThrLimit.bitfields.CYLPF_TCF_TRANSITION_THR_HIGH_LIMITS__TOPLIM =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_High_Limits__TopLim;

    pPassRegCmd->cylpfPreLensGainCmd.tcfHighThrLUT0.bitfields.CYLPF_TCF_TRANSITION_THR_HIGH_LUT_0 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_High_LUT[0];
    pPassRegCmd->cylpfPreLensGainCmd.tcfHighThrLUT0.bitfields.CYLPF_TCF_TRANSITION_THR_HIGH_LUT_1 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_High_LUT[1];
    pPassRegCmd->cylpfPreLensGainCmd.tcfHighThrLUT0.bitfields.CYLPF_TCF_TRANSITION_THR_HIGH_LUT_2 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_High_LUT[2];

    pPassRegCmd->cylpfPreLensGainCmd.tcfHighThrLUT1.bitfields.CYLPF_TCF_TRANSITION_THR_HIGH_LUT_3 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_High_LUT[3];
    pPassRegCmd->cylpfPreLensGainCmd.tcfHighThrLUT1.bitfields.CYLPF_TCF_TRANSITION_THR_HIGH_LUT_4 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_High_LUT[4];
    pPassRegCmd->cylpfPreLensGainCmd.tcfHighThrLUT1.bitfields.CYLPF_TCF_TRANSITION_THR_HIGH_LUT_5 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_High_LUT[5];

    pPassRegCmd->cylpfPreLensGainCmd.tcfHighThrLUT2.bitfields.CYLPF_TCF_TRANSITION_THR_HIGH_LUT_6 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_High_LUT[6];
    pPassRegCmd->cylpfPreLensGainCmd.tcfHighThrLUT2.bitfields.CYLPF_TCF_TRANSITION_THR_HIGH_LUT_7 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_High_LUT[7];
    pPassRegCmd->cylpfPreLensGainCmd.tcfHighThrLUT2.bitfields.CYLPF_TCF_TRANSITION_THR_HIGH_LUT_8 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_High_LUT[8];

    pPassRegCmd->cylpfPreLensGainCmd.tcfLowThrLimit.bitfields.CYLPF_TCF_TRANSITION_THR_LOW_LIMITS__BOTLIM =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_Low_Limits__BotLim;
    pPassRegCmd->cylpfPreLensGainCmd.tcfLowThrLimit.bitfields.CYLPF_TCF_TRANSITION_THR_LOW_LIMITS__TOPLIM =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_Low_Limits__TopLim;

    pPassRegCmd->cylpfPreLensGainCmd.tcfLowThrLUT0.bitfields.CYLPF_TCF_TRANSITION_THR_LOW_LUT_0 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_Low_LUT[0];
    pPassRegCmd->cylpfPreLensGainCmd.tcfLowThrLUT0.bitfields.CYLPF_TCF_TRANSITION_THR_LOW_LUT_1 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_Low_LUT[1];
    pPassRegCmd->cylpfPreLensGainCmd.tcfLowThrLUT0.bitfields.CYLPF_TCF_TRANSITION_THR_LOW_LUT_2 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_Low_LUT[2];

    pPassRegCmd->cylpfPreLensGainCmd.tcfLowThrLUT1.bitfields.CYLPF_TCF_TRANSITION_THR_LOW_LUT_3 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_Low_LUT[3];
    pPassRegCmd->cylpfPreLensGainCmd.tcfLowThrLUT1.bitfields.CYLPF_TCF_TRANSITION_THR_LOW_LUT_4 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_Low_LUT[4];
    pPassRegCmd->cylpfPreLensGainCmd.tcfLowThrLUT1.bitfields.CYLPF_TCF_TRANSITION_THR_LOW_LUT_5 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_Low_LUT[5];
    pPassRegCmd->cylpfPreLensGainCmd.tcfLowThrLUT2.bitfields.CYLPF_TCF_TRANSITION_THR_LOW_LUT_6 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_Low_LUT[6];
    pPassRegCmd->cylpfPreLensGainCmd.tcfLowThrLUT2.bitfields.CYLPF_TCF_TRANSITION_THR_LOW_LUT_7 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_Low_LUT[7];
    pPassRegCmd->cylpfPreLensGainCmd.tcfLowThrLUT2.bitfields.CYLPF_TCF_TRANSITION_THR_LOW_LUT_8 =
        pANRData->cylpf.CYLPF_TCF_Transition_Thr_Low_LUT[8];

    pPassRegCmd->cylpfPreLensGainCmd.tcfRadius.bitfields.CYLPF_TCF_RADIUS_THR__MINDG1DG2 =
        pANRData->cylpf.CYLPF_TCF_Radius_Thr__MinDg1Dg2;
    pPassRegCmd->cylpfPreLensGainCmd.tcfRadius.bitfields.CYLPF_TCF_RADIUS_THR__MINHORVER =
        pANRData->cylpf.CYLPF_TCF_Radius_Thr__MinHorVer;
    pPassRegCmd->cylpfPreLensGainCmd.tcfRadius.bitfields.CYLPF_TCF_RADIUS_THR__SUMDG1DG2 =
        pANRData->cylpf.CYLPF_TCF_Radius_Thr__SumDg1Dg2;
    pPassRegCmd->cylpfPreLensGainCmd.tcfRadius.bitfields.CYLPF_TCF_RADIUS_THR__SUMHORVER =
        pANRData->cylpf.CYLPF_TCF_Radius_Thr__SumHorVer;

    return CamxResultSuccess;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ANRRegisterSetting::SetCYLPFLensGainRegisters
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CamxResult ANRRegisterSetting::SetCYLPFLensGainRegisters(
    ANR_REG_PASS*      pANRData,
    IPEANRRegCmd*      pPassRegCmd)
{
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC0.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_0  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[0];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC0.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_1  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[1];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC1.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_2  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[2];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC1.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_3  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[3];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC2.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_4  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[4];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC2.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_5  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[5];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC3.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_6  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[6];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC3.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_7  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[7];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC4.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_8  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[8];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC4.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_9  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[9];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC5.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_10 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[10];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC5.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_11 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[11];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC6.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_12 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[12];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC6.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_13 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[13];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC7.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_14 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[14];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC7.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_15 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[15];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrC8.bitfields.CYLPF_LG_CFILTER_LUT_THR_C_16 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_C[16];


    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY0.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_0  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[0];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY0.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_1  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[1];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY1.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_2  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[2];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY1.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_3  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[3];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY2.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_4  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[4];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY2.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_5  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[5];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY3.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_6  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[6];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY3.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_7  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[7];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY4.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_8  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[8];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY4.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_9  =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[9];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY5.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_10 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[10];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY5.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_11 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[11];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY6.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_12 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[12];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY6.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_13 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[13];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY7.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_14 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[14];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY7.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_15 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[15];
    pPassRegCmd->cylpfLensGainCmd.lgCFilterLUTThrY8.bitfields.CYLPF_LG_CFILTER_LUT_THR_Y_16 =
        pANRData->cylpf.CYLPF_LG_CFilter_LUT_Thr_Y[16];

    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend0.bitfields.CYLPF_LG_LUT_BLEND_0  =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[0];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend0.bitfields.CYLPF_LG_LUT_BLEND_1  =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[1];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend0.bitfields.CYLPF_LG_LUT_BLEND_2  =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[2];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend0.bitfields.CYLPF_LG_LUT_BLEND_3  =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[3];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend1.bitfields.CYLPF_LG_LUT_BLEND_4  =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[4];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend1.bitfields.CYLPF_LG_LUT_BLEND_5  =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[5];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend1.bitfields.CYLPF_LG_LUT_BLEND_6  =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[6];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend1.bitfields.CYLPF_LG_LUT_BLEND_7  =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[7];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend2.bitfields.CYLPF_LG_LUT_BLEND_8  =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[8];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend2.bitfields.CYLPF_LG_LUT_BLEND_9  =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[9];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend2.bitfields.CYLPF_LG_LUT_BLEND_10 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[10];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend2.bitfields.CYLPF_LG_LUT_BLEND_11 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[11];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend3.bitfields.CYLPF_LG_LUT_BLEND_12 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[12];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend3.bitfields.CYLPF_LG_LUT_BLEND_13 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[13];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend3.bitfields.CYLPF_LG_LUT_BLEND_14 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[14];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend3.bitfields.CYLPF_LG_LUT_BLEND_15 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[15];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend4.bitfields.CYLPF_LG_LUT_BLEND_16 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[16];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend4.bitfields.CYLPF_LG_LUT_BLEND_17 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[17];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend4.bitfields.CYLPF_LG_LUT_BLEND_18 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[18];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend4.bitfields.CYLPF_LG_LUT_BLEND_19 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[19];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend5.bitfields.CYLPF_LG_LUT_BLEND_20 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[20];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend5.bitfields.CYLPF_LG_LUT_BLEND_21 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[21];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend5.bitfields.CYLPF_LG_LUT_BLEND_22 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[22];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend5.bitfields.CYLPF_LG_LUT_BLEND_23 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[23];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend6.bitfields.CYLPF_LG_LUT_BLEND_24 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[24];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend6.bitfields.CYLPF_LG_LUT_BLEND_25 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[25];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend6.bitfields.CYLPF_LG_LUT_BLEND_26 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[26];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend6.bitfields.CYLPF_LG_LUT_BLEND_27 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[27];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend7.bitfields.CYLPF_LG_LUT_BLEND_28 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[28];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend7.bitfields.CYLPF_LG_LUT_BLEND_29 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[29];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend7.bitfields.CYLPF_LG_LUT_BLEND_30 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[30];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend7.bitfields.CYLPF_LG_LUT_BLEND_31 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[31];
    pPassRegCmd->cylpfLensGainCmd.lgLUTBlend8.bitfields.CYLPF_LG_LUT_BLEND_32 =
        pANRData->cylpf.CYLPF_LG_LUT_Blend[32];

    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC0.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_0  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[0];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC0.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_1  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[1];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC1.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_2  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[2];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC1.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_3  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[3];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC2.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_4  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[4];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC2.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_5  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[5];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC3.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_6  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[6];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC3.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_7  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[7];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC4.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_8  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[8];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC4.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_9  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[9];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC5.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_10 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[10];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC5.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_11 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[11];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC6.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_12 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[12];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC6.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_13 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[13];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC7.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_14 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[14];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC7.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_15 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[15];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrC8.bitfields.CYLPF_LG_YFILTER_LUT_THR_C_16 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_C[16];


    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY0.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_0  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[0];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY0.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_1  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[1];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY1.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_2  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[2];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY1.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_3  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[3];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY2.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_4  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[4];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY2.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_5  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[5];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY3.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_6  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[6];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY3.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_7  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[7];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY4.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_8  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[8];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY4.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_9  =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[9];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY5.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_10 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[10];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY5.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_11 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[11];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY6.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_12 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[12];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY6.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_13 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[13];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY7.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_14 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[14];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY7.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_15 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[15];
    pPassRegCmd->cylpfLensGainCmd.lgYFilterLUTThrY8.bitfields.CYLPF_LG_YFILTER_LUT_THR_Y_16 =
        pANRData->cylpf.CYLPF_LG_YFilter_LUT_Thr_Y[16];

    return CamxResultSuccess;
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ANRRegisterSetting::SetCYLPFPostLensGainRegisters
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CamxResult ANRRegisterSetting::SetCYLPFPostLensGainRegisters(
    ANR_REG_PASS*      pANRData,
    IPEANRRegCmd*      pPassRegCmd)
{
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain30.bitfields.CYLPF_CDCINDUV_GAIN_DER_3_0 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_3[0];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain30.bitfields.CYLPF_CDCINDUV_GAIN_DER_3_1 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_3[1];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain30.bitfields.CYLPF_CDCINDUV_GAIN_DER_3_2 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_3[2];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain30.bitfields.CYLPF_CDCINDUV_GAIN_DER_3_3 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_3[3];

    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain50.bitfields.CYLPF_CDCINDUV_GAIN_DER_5_0 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_5[0];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain50.bitfields.CYLPF_CDCINDUV_GAIN_DER_5_1 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_5[1];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain50.bitfields.CYLPF_CDCINDUV_GAIN_DER_5_2 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_5[2];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain50.bitfields.CYLPF_CDCINDUV_GAIN_DER_5_3 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_5[3];

    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain5X0.bitfields.CYLPF_CDCINDUV_GAIN_DER_5X_0 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_5X[0];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain5X0.bitfields.CYLPF_CDCINDUV_GAIN_DER_5X_1 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_5X[1];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain5X0.bitfields.CYLPF_CDCINDUV_GAIN_DER_5X_2 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_5X[2];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain5X0.bitfields.CYLPF_CDCINDUV_GAIN_DER_5X_3 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_5X[3];

    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain70.bitfields.CYLPF_CDCINDUV_GAIN_DER_7_0 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_7[0];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain70.bitfields.CYLPF_CDCINDUV_GAIN_DER_7_1 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_7[1];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain70.bitfields.CYLPF_CDCINDUV_GAIN_DER_7_2 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_7[2];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndUVGain70.bitfields.CYLPF_CDCINDUV_GAIN_DER_7_3 =
        pANRData->cylpf.CYLPF_CDCIndUV_Gain_Der_7[3];

    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain30.bitfields.CYLPF_CDCINDY_GAIN_DER_3_0 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_3[0];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain30.bitfields.CYLPF_CDCINDY_GAIN_DER_3_1 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_3[1];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain30.bitfields.CYLPF_CDCINDY_GAIN_DER_3_2 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_3[2];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain30.bitfields.CYLPF_CDCINDY_GAIN_DER_3_3 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_3[3];

    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain50.bitfields.CYLPF_CDCINDY_GAIN_DER_5_0 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_5[0];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain50.bitfields.CYLPF_CDCINDY_GAIN_DER_5_1 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_5[1];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain50.bitfields.CYLPF_CDCINDY_GAIN_DER_5_2 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_5[2];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain50.bitfields.CYLPF_CDCINDY_GAIN_DER_5_3 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_5[3];

    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain70.bitfields.CYLPF_CDCINDY_GAIN_DER_7_0 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_7[0];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain70.bitfields.CYLPF_CDCINDY_GAIN_DER_7_1 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_7[1];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain70.bitfields.CYLPF_CDCINDY_GAIN_DER_7_2 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_7[2];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain70.bitfields.CYLPF_CDCINDY_GAIN_DER_7_3 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_7[3];

    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain90.bitfields.CYLPF_CDCINDY_GAIN_DER_9_0 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_9[0];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain90.bitfields.CYLPF_CDCINDY_GAIN_DER_9_1 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_9[1];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain90.bitfields.CYLPF_CDCINDY_GAIN_DER_9_2 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_9[2];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain90.bitfields.CYLPF_CDCINDY_GAIN_DER_9_3 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_9[3];

    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain5X0.bitfields.CYLPF_CDCINDY_GAIN_DER_5X_0 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_5X[0];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain5X0.bitfields.CYLPF_CDCINDY_GAIN_DER_5X_1 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_5X[1];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain5X0.bitfields.CYLPF_CDCINDY_GAIN_DER_5X_2 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_5X[2];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain5X0.bitfields.CYLPF_CDCINDY_GAIN_DER_5X_3 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_5X[3];

    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain9X0.bitfields.CYLPF_CDCINDY_GAIN_DER_9X_0 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_9X[0];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain9X0.bitfields.CYLPF_CDCINDY_GAIN_DER_9X_1 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_9X[1];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain9X0.bitfields.CYLPF_CDCINDY_GAIN_DER_9X_2 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_9X[2];
    pPassRegCmd->cylpfPostLensGainCmd.cDCIndYGain9X0.bitfields.CYLPF_CDCINDY_GAIN_DER_9X_3 =
        pANRData->cylpf.CYLPF_CDCIndY_Gain_Der_9X[3];


    pPassRegCmd->cylpfPostLensGainCmd.cFilterBaseBlendFarC.bitfields.CYLPF_CFILTER_CNRBASEBLENDFAR_C        =
        pANRData->cylpf.CYLPF_CFilter_CnrBaseBlendFar_C;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterBaseBlendFarY.bitfields.CYLPF_CFILTER_CNRBASEBLENDFAR_Y        =
        pANRData->cylpf.CYLPF_CFilter_CnrBaseBlendFar_Y;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__DCINDTHR_OFFSET            =
        pANRData->cylpf.CYLPF_CFilter_Cfg__DCIndThr_Offset;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__DCINDTHR_SHIFT             =
        pANRData->cylpf.CYLPF_CFilter_Cfg__DCIndThr_Shift;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__DETAILSYMMETRYMODE         =
        pANRData->cylpf.CYLPF_CFilter_Cfg__DetailSymmetryMode;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__EXTERNALDERIVGREYMODE      =
        pANRData->cylpf.CYLPF_CFilter_Cfg__ExternalDerivGreyMode;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__FILTERINGMODE              =
        pANRData->cylpf.CYLPF_CFilter_Cfg__FilteringMode;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__FILTERSIZE                 =
        pANRData->cylpf.CYLPF_CFilter_Cfg__FilterSize;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__GREYBLENDAVGSIZE           =
        pANRData->cylpf.CYLPF_CFilter_Cfg__GreyBlendAvgSize;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__GREYBLENDCHROMACONDITION   =
        pANRData->cylpf.CYLPF_CFilter_Cfg__GreyBlendChromaCondition;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__GREYBLENDGREYSIZECONDITION =
        pANRData->cylpf.CYLPF_CFilter_Cfg__GreyBlendGreySizeCondition;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__GREYFACTORBLENDEN          =
        pANRData->cylpf.CYLPF_CFilter_Cfg__GreyFactorBlendEn;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__GREYFACTORFNCLIMITSMODE    =
        pANRData->cylpf.CYLPF_CFilter_Cfg__GreyFactorFncLimitsMode;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterConfig.bitfields.CYLPF_CFILTER_CFG__GREYFACTORTHREN            =
        pANRData->cylpf.CYLPF_CFilter_Cfg__GreyFactorThrEn;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterDCIndFlags.bitfields.CYLPF_CFILTER_DCINDDERFLAGS               =
        pANRData->cylpf.CYLPF_CFilter_DCIndDerFlags;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterDerFlags.bitfields.CYLPF_CFILTER_FILTDERFLAGS                  =
        pANRData->cylpf.CYLPF_CFilter_FiltDerFlags;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterDetailCond.bitfields.CYLPF_CFILTER_DETAIL_COND__CHROMATICITY   =
        pANRData->cylpf.CYLPF_CFilter_Detail_Cond__Chromaticity;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterDetailCond.bitfields.CYLPF_CFILTER_DETAIL_COND__YDERMAX        =
        pANRData->cylpf.CYLPF_CFilter_Detail_Cond__YDerMax;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterDirConfig.bitfields.CYLPF_CFILTER_DIRECTIONALCFG               =
        pANRData->cylpf.CYLPF_CFilter_DirectionalCfg;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterDirConfigEx.bitfields.CYLPF_CFILTER_DIRECTIONALCFGX            =
        pANRData->cylpf.CYLPF_CFilter_DirectionalCfgX;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyBlendOffset.bitfields.CYLPF_CFILTER_GREY_BLENDOFFSET       =
        pANRData->cylpf.CYLPF_CFilter_Grey_BlendOffset;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyBlendScale.bitfields.CYLPF_CFILTER_GREY_BLENDSCALE         =
        pANRData->cylpf.CYLPF_CFilter_Grey_BlendScale;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyChromaticity.bitfields.CYLPF_CFILTER_GREY_CHFNC__OFFSET    =
        pANRData->cylpf.CYLPF_CFilter_Grey_ChFnc__Offset;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyChromaticity.bitfields.CYLPF_CFILTER_GREY_CHFNC__SLOPE     =
        pANRData->cylpf.CYLPF_CFilter_Grey_ChFnc__Slope;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyLimits.bitfields.CYLPF_CFILTER_GREY_LIMITS__BOTLIM         =
        pANRData->cylpf.CYLPF_CFilter_Grey_Limits__BotLim;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyLimits.bitfields.CYLPF_CFILTER_GREY_LIMITS__TOPLIM         =
        pANRData->cylpf.CYLPF_CFilter_Grey_Limits__TopLim;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreySizeThr35.bitfields.CYLPF_CFILTER_GREYSIZETHR_3_5__GREYDC3X3AVGTHR  =
        pANRData->cylpf.CYLPF_CFilter_GreySizeThr_3_5__GreyDC3x3AvgThr;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreySizeThr35.bitfields.CYLPF_CFILTER_GREYSIZETHR_3_5__GREYDC3X3RINGTHR =
        pANRData->cylpf.CYLPF_CFilter_GreySizeThr_3_5__GreyDC3x3RingThr;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreySizeThr35.bitfields.CYLPF_CFILTER_GREYSIZETHR_3_5__GREYDC5X5RINGTHR =
        pANRData->cylpf.CYLPF_CFilter_GreySizeThr_3_5__GreyDC5x5RingThr;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreySizeThr79.bitfields.CYLPF_CFILTER_GREYSIZETHR_7_9__GREYDC7X7RINGTHR =
        pANRData->cylpf.CYLPF_CFilter_GreySizeThr_7_9__GreyDC7x7RingThr;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyThrClose.bitfields.CYLPF_CFILTER_GREY_THRMODVAL_CLOSE__UT =
        pANRData->cylpf.CYLPF_CFilter_Grey_ThrModVal_Close__UT;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyThrClose.bitfields.CYLPF_CFILTER_GREY_THRMODVAL_CLOSE__VT =
        pANRData->cylpf.CYLPF_CFilter_Grey_ThrModVal_Close__VT;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyThrClose.bitfields.CYLPF_CFILTER_GREY_THRMODVAL_CLOSE__YT =
        pANRData->cylpf.CYLPF_CFilter_Grey_ThrModVal_Close__YT;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyThrFar.bitfields.CYLPF_CFILTER_GREY_THRMODVAL_FAR__UT =
        pANRData->cylpf.CYLPF_CFilter_Grey_ThrModVal_Far__UT;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyThrFar.bitfields.CYLPF_CFILTER_GREY_THRMODVAL_FAR__VT =
        pANRData->cylpf.CYLPF_CFilter_Grey_ThrModVal_Far__VT;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyThrFar.bitfields.CYLPF_CFILTER_GREY_THRMODVAL_FAR__YT =
        pANRData->cylpf.CYLPF_CFilter_Grey_ThrModVal_Far__YT;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyYDer.bitfields.CYLPF_CFILTER_GREY_YDERFNC__OFFSET =
        pANRData->cylpf.CYLPF_CFilter_Grey_YDerFnc__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterGreyYDer.bitfields.CYLPF_CFILTER_GREY_YDERFNC__SLOPE  =
        pANRData->cylpf.CYLPF_CFilter_Grey_YDerFnc__Slope;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterUCTB0.bitfields.CYLPF_CFILTER_UCTB_0 =
        pANRData->cylpf.CYLPF_CFilter_UCTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUCTB0.bitfields.CYLPF_CFILTER_UCTB_1 =
        pANRData->cylpf.CYLPF_CFilter_UCTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUCTB0.bitfields.CYLPF_CFILTER_UCTB_2 =
        pANRData->cylpf.CYLPF_CFilter_UCTb[2];

    pPassRegCmd->cylpfPostLensGainCmd.cFilterUCTB1.bitfields.CYLPF_CFILTER_UCTB_3 =
        pANRData->cylpf.CYLPF_CFilter_UCTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUCTB1.bitfields.CYLPF_CFILTER_UCTB_4 =
        pANRData->cylpf.CYLPF_CFilter_UCTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUCTB1.bitfields.CYLPF_CFILTER_UCTB_5 =
        pANRData->cylpf.CYLPF_CFilter_UCTb[5];

    pPassRegCmd->cylpfPostLensGainCmd.cFilterUCTB2.bitfields.CYLPF_CFILTER_UCTB_6 =
        pANRData->cylpf.CYLPF_CFilter_UCTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUCTB2.bitfields.CYLPF_CFILTER_UCTB_7 =
        pANRData->cylpf.CYLPF_CFilter_UCTb[7];

    pPassRegCmd->cylpfPostLensGainCmd.cFilterUTBLimit.bitfields.CYLPF_CFILTER_UTB_LIMITS__BOTLIM =
        pANRData->cylpf.CYLPF_CFilter_UTb_Limits__BotLim;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUTBLimit.bitfields.CYLPF_CFILTER_UTB_LIMITS__TOPLIM =
        pANRData->cylpf.CYLPF_CFilter_UTb_Limits__TopLim;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterUThrDistMod.bitfields.CYLPF_CFILTER_UTHRDISTMOD__OFFSET =
        pANRData->cylpf.CYLPF_CFilter_UThrDistMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUThrDistMod.bitfields.CYLPF_CFILTER_UTHRDISTMOD__SCALE  =
        pANRData->cylpf.CYLPF_CFilter_UThrDistMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterUThrFarExMod.bitfields.CYLPF_CFILTER_UTHRFARXMOD__OFFSET =
        pANRData->cylpf.CYLPF_CFilter_UThrFarXMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUThrFarExMod.bitfields.CYLPF_CFILTER_UTHRFARXMOD__SCALE  =
        pANRData->cylpf.CYLPF_CFilter_UThrFarXMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterUThrFarMod.bitfields.CYLPF_CFILTER_UTHRFARMOD__OFFSET =
        pANRData->cylpf.CYLPF_CFilter_UThrFarMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUThrFarMod.bitfields.CYLPF_CFILTER_UTHRFARMOD__SCALE  =
        pANRData->cylpf.CYLPF_CFilter_UThrFarMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterUVLimit.bitfields.CYLPF_CFILTER_UVLIMIT =
        pANRData->cylpf.CYLPF_CFilter_UVlimit;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB0.bitfields.CYLPF_CFILTER_UYTB_0  =
        pANRData->cylpf.CYLPF_CFilter_UYTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB0.bitfields.CYLPF_CFILTER_UYTB_1  =
        pANRData->cylpf.CYLPF_CFilter_UYTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB0.bitfields.CYLPF_CFILTER_UYTB_2  =
        pANRData->cylpf.CYLPF_CFilter_UYTb[2];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB0.bitfields.CYLPF_CFILTER_UYTB_3  =
        pANRData->cylpf.CYLPF_CFilter_UYTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB1.bitfields.CYLPF_CFILTER_UYTB_4  =
        pANRData->cylpf.CYLPF_CFilter_UYTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB1.bitfields.CYLPF_CFILTER_UYTB_5  =
        pANRData->cylpf.CYLPF_CFilter_UYTb[5];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB1.bitfields.CYLPF_CFILTER_UYTB_6  =
        pANRData->cylpf.CYLPF_CFilter_UYTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB1.bitfields.CYLPF_CFILTER_UYTB_7  =
        pANRData->cylpf.CYLPF_CFilter_UYTb[7];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB2.bitfields.CYLPF_CFILTER_UYTB_8  =
        pANRData->cylpf.CYLPF_CFilter_UYTb[8];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB2.bitfields.CYLPF_CFILTER_UYTB_9  =
        pANRData->cylpf.CYLPF_CFilter_UYTb[9];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB2.bitfields.CYLPF_CFILTER_UYTB_10 =
        pANRData->cylpf.CYLPF_CFilter_UYTb[10];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB2.bitfields.CYLPF_CFILTER_UYTB_11 =
        pANRData->cylpf.CYLPF_CFilter_UYTb[11];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB3.bitfields.CYLPF_CFILTER_UYTB_12 =
        pANRData->cylpf.CYLPF_CFilter_UYTb[12];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB3.bitfields.CYLPF_CFILTER_UYTB_13 =
        pANRData->cylpf.CYLPF_CFilter_UYTb[13];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB3.bitfields.CYLPF_CFILTER_UYTB_14 =
        pANRData->cylpf.CYLPF_CFilter_UYTb[14];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB3.bitfields.CYLPF_CFILTER_UYTB_15 =
        pANRData->cylpf.CYLPF_CFilter_UYTb[15];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterUYTB4.bitfields.CYLPF_CFILTER_UYTB_16 =
        pANRData->cylpf.CYLPF_CFilter_UYTb[16];

    pPassRegCmd->cylpfPostLensGainCmd.cFilterVCTB0.bitfields.CYLPF_CFILTER_VCTB_0 =
        pANRData->cylpf.CYLPF_CFilter_VCTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVCTB0.bitfields.CYLPF_CFILTER_VCTB_1 =
        pANRData->cylpf.CYLPF_CFilter_VCTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVCTB0.bitfields.CYLPF_CFILTER_VCTB_2 =
        pANRData->cylpf.CYLPF_CFilter_VCTb[2];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVCTB1.bitfields.CYLPF_CFILTER_VCTB_3 =
        pANRData->cylpf.CYLPF_CFilter_VCTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVCTB1.bitfields.CYLPF_CFILTER_VCTB_4 =
        pANRData->cylpf.CYLPF_CFilter_VCTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVCTB1.bitfields.CYLPF_CFILTER_VCTB_5 =
        pANRData->cylpf.CYLPF_CFilter_VCTb[5];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVCTB2.bitfields.CYLPF_CFILTER_VCTB_6 =
        pANRData->cylpf.CYLPF_CFilter_VCTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVCTB2.bitfields.CYLPF_CFILTER_VCTB_7 =
        pANRData->cylpf.CYLPF_CFilter_VCTb[7];

    pPassRegCmd->cylpfPostLensGainCmd.cFilterVTBLimit.bitfields.CYLPF_CFILTER_VTB_LIMITS__BOTLIM =
        pANRData->cylpf.CYLPF_CFilter_VTb_Limits__BotLim;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVTBLimit.bitfields.CYLPF_CFILTER_VTB_LIMITS__TOPLIM =
        pANRData->cylpf.CYLPF_CFilter_VTb_Limits__TopLim;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterVThrDisMod.bitfields.CYLPF_CFILTER_VTHRDISTMOD__OFFSET =
        pANRData->cylpf.CYLPF_CFilter_VThrDistMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVThrDisMod.bitfields.CYLPF_CFILTER_VTHRDISTMOD__SCALE  =
        pANRData->cylpf.CYLPF_CFilter_VThrDistMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterVThrFarExMod.bitfields.CYLPF_CFILTER_VTHRFARXMOD__OFFSET =
        pANRData->cylpf.CYLPF_CFilter_VThrFarXMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVThrFarExMod.bitfields.CYLPF_CFILTER_VTHRFARXMOD__SCALE  =
        pANRData->cylpf.CYLPF_CFilter_VThrFarXMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterVThrFarMod.bitfields.CYLPF_CFILTER_VTHRFARMOD__OFFSET =
        pANRData->cylpf.CYLPF_CFilter_VThrFarMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVThrFarMod.bitfields.CYLPF_CFILTER_VTHRFARMOD__SCALE  =
        pANRData->cylpf.CYLPF_CFilter_VThrFarMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB0.bitfields.CYLPF_CFILTER_VYTB_0  =
        pANRData->cylpf.CYLPF_CFilter_VYTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB0.bitfields.CYLPF_CFILTER_VYTB_1  =
        pANRData->cylpf.CYLPF_CFilter_VYTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB0.bitfields.CYLPF_CFILTER_VYTB_2  =
        pANRData->cylpf.CYLPF_CFilter_VYTb[2];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB0.bitfields.CYLPF_CFILTER_VYTB_3  =
        pANRData->cylpf.CYLPF_CFilter_VYTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB1.bitfields.CYLPF_CFILTER_VYTB_4  =
        pANRData->cylpf.CYLPF_CFilter_VYTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB1.bitfields.CYLPF_CFILTER_VYTB_5  =
        pANRData->cylpf.CYLPF_CFilter_VYTb[5];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB1.bitfields.CYLPF_CFILTER_VYTB_6  =
        pANRData->cylpf.CYLPF_CFilter_VYTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB1.bitfields.CYLPF_CFILTER_VYTB_7  =
        pANRData->cylpf.CYLPF_CFilter_VYTb[7];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB2.bitfields.CYLPF_CFILTER_VYTB_8  =
        pANRData->cylpf.CYLPF_CFilter_VYTb[8];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB2.bitfields.CYLPF_CFILTER_VYTB_9  =
        pANRData->cylpf.CYLPF_CFilter_VYTb[9];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB2.bitfields.CYLPF_CFILTER_VYTB_10 =
        pANRData->cylpf.CYLPF_CFilter_VYTb[10];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB2.bitfields.CYLPF_CFILTER_VYTB_11 =
        pANRData->cylpf.CYLPF_CFilter_VYTb[11];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB3.bitfields.CYLPF_CFILTER_VYTB_12 =
        pANRData->cylpf.CYLPF_CFilter_VYTb[12];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB3.bitfields.CYLPF_CFILTER_VYTB_13 =
        pANRData->cylpf.CYLPF_CFilter_VYTb[13];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB3.bitfields.CYLPF_CFILTER_VYTB_14 =
        pANRData->cylpf.CYLPF_CFilter_VYTb[14];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB3.bitfields.CYLPF_CFILTER_VYTB_15 =
        pANRData->cylpf.CYLPF_CFilter_VYTb[15];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterVYTB4.bitfields.CYLPF_CFILTER_VYTB_16 =
        pANRData->cylpf.CYLPF_CFilter_VYTb[16];

    pPassRegCmd->cylpfPostLensGainCmd.cFilterYCTB0.bitfields.CYLPF_CFILTER_YCTB_0 =
        pANRData->cylpf.CYLPF_CFilter_YCTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYCTB0.bitfields.CYLPF_CFILTER_YCTB_1 =
        pANRData->cylpf.CYLPF_CFilter_YCTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYCTB1.bitfields.CYLPF_CFILTER_YCTB_2 =
        pANRData->cylpf.CYLPF_CFilter_YCTb[2];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYCTB1.bitfields.CYLPF_CFILTER_YCTB_3 =
        pANRData->cylpf.CYLPF_CFilter_YCTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYCTB2.bitfields.CYLPF_CFILTER_YCTB_4 =
        pANRData->cylpf.CYLPF_CFilter_YCTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYCTB2.bitfields.CYLPF_CFILTER_YCTB_5 =
        pANRData->cylpf.CYLPF_CFilter_YCTb[5];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYCTB3.bitfields.CYLPF_CFILTER_YCTB_6 =
        pANRData->cylpf.CYLPF_CFilter_YCTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYCTB3.bitfields.CYLPF_CFILTER_YCTB_7 =
        pANRData->cylpf.CYLPF_CFilter_YCTb[7];

    pPassRegCmd->cylpfPostLensGainCmd.cFilterYTBLimit.bitfields.CYLPF_CFILTER_YTB_LIMITS__BOTLIM =
        pANRData->cylpf.CYLPF_CFilter_YTb_Limits__BotLim;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYTBLimit.bitfields.CYLPF_CFILTER_YTB_LIMITS__TOPLIM =
        pANRData->cylpf.CYLPF_CFilter_YTb_Limits__TopLim;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterYThrCloseMod.bitfields.CYLPF_CFILTER_YTHRCLOSEXMOD__OFFSET =
        pANRData->cylpf.CYLPF_CFilter_YThrCloseXMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYThrCloseMod.bitfields.CYLPF_CFILTER_YTHRCLOSEXMOD__SCALE  =
        pANRData->cylpf.CYLPF_CFilter_YThrCloseXMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterYThrFarExMod.bitfields.CYLPF_CFILTER_YTHRFARXMOD__OFFSET =
        pANRData->cylpf.CYLPF_CFilter_YThrFarXMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYThrFarExMod.bitfields.CYLPF_CFILTER_YTHRFARXMOD__SCALE  =
        pANRData->cylpf.CYLPF_CFilter_YThrFarXMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterYThrFarMod.bitfields.CYLPF_CFILTER_YTHRFARMOD__OFFSET =
        pANRData->cylpf.CYLPF_CFilter_YThrFarMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYThrFarMod.bitfields.CYLPF_CFILTER_YTHRFARMOD__SCALE  =
        pANRData->cylpf.CYLPF_CFilter_YThrFarMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB0.bitfields.CYLPF_CFILTER_YYTB_0  =
        pANRData->cylpf.CYLPF_CFilter_YYTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB0.bitfields.CYLPF_CFILTER_YYTB_1  =
        pANRData->cylpf.CYLPF_CFilter_YYTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB0.bitfields.CYLPF_CFILTER_YYTB_2  =
        pANRData->cylpf.CYLPF_CFilter_YYTb[2];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB1.bitfields.CYLPF_CFILTER_YYTB_3  =
        pANRData->cylpf.CYLPF_CFilter_YYTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB1.bitfields.CYLPF_CFILTER_YYTB_4  =
        pANRData->cylpf.CYLPF_CFilter_YYTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB1.bitfields.CYLPF_CFILTER_YYTB_5  =
        pANRData->cylpf.CYLPF_CFilter_YYTb[5];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB2.bitfields.CYLPF_CFILTER_YYTB_6  =
        pANRData->cylpf.CYLPF_CFilter_YYTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB2.bitfields.CYLPF_CFILTER_YYTB_7  =
        pANRData->cylpf.CYLPF_CFilter_YYTb[7];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB2.bitfields.CYLPF_CFILTER_YYTB_8  =
        pANRData->cylpf.CYLPF_CFilter_YYTb[8];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB3.bitfields.CYLPF_CFILTER_YYTB_9  =
        pANRData->cylpf.CYLPF_CFilter_YYTb[9];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB3.bitfields.CYLPF_CFILTER_YYTB_10 =
        pANRData->cylpf.CYLPF_CFilter_YYTb[10];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB3.bitfields.CYLPF_CFILTER_YYTB_11 =
        pANRData->cylpf.CYLPF_CFilter_YYTb[11];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB4.bitfields.CYLPF_CFILTER_YYTB_12 =
        pANRData->cylpf.CYLPF_CFilter_YYTb[12];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB4.bitfields.CYLPF_CFILTER_YYTB_13 =
        pANRData->cylpf.CYLPF_CFilter_YYTb[13];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB4.bitfields.CYLPF_CFILTER_YYTB_14 =
        pANRData->cylpf.CYLPF_CFilter_YYTb[14];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB5.bitfields.CYLPF_CFILTER_YYTB_15 =
        pANRData->cylpf.CYLPF_CFilter_YYTb[15];
    pPassRegCmd->cylpfPostLensGainCmd.cFilterYYTB5.bitfields.CYLPF_CFILTER_YYTB_16 =
        pANRData->cylpf.CYLPF_CFilter_YYTb[16];

    pPassRegCmd->cylpfPostLensGainCmd.cThreshold.bitfields.CYLPF_CTHRESHOLDS__UD =
        pANRData->cylpf.CYLPF_CThresholds__UD;
    pPassRegCmd->cylpfPostLensGainCmd.cThreshold.bitfields.CYLPF_CTHRESHOLDS__X  =
        pANRData->cylpf.CYLPF_CThresholds__X;

    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain30.bitfields.CYLPF_YDCINDUV_GAIN_DER_3_0 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_3[0];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain30.bitfields.CYLPF_YDCINDUV_GAIN_DER_3_1 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_3[1];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain30.bitfields.CYLPF_YDCINDUV_GAIN_DER_3_2 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_3[2];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain30.bitfields.CYLPF_YDCINDUV_GAIN_DER_3_3 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_3[3];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain30.bitfields.CYLPF_YDCINDUV_GAIN_DER_3_4 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_3[4];

    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain50.bitfields.CYLPF_YDCINDUV_GAIN_DER_5_0 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_5[0];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain50.bitfields.CYLPF_YDCINDUV_GAIN_DER_5_1 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_5[1];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain50.bitfields.CYLPF_YDCINDUV_GAIN_DER_5_2 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_5[2];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain50.bitfields.CYLPF_YDCINDUV_GAIN_DER_5_3 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_5[3];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain50.bitfields.CYLPF_YDCINDUV_GAIN_DER_5_4 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_5[4];


    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain5X0.bitfields.CYLPF_YDCINDUV_GAIN_DER_5X_0 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_5X[0];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain5X0.bitfields.CYLPF_YDCINDUV_GAIN_DER_5X_1 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_5X[1];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain5X0.bitfields.CYLPF_YDCINDUV_GAIN_DER_5X_2 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_5X[2];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain5X0.bitfields.CYLPF_YDCINDUV_GAIN_DER_5X_3 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_5X[3];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndUVGain5X0.bitfields.CYLPF_YDCINDUV_GAIN_DER_5X_4 =
        pANRData->cylpf.CYLPF_YDCIndUV_Gain_Der_5X[4];

    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain30.bitfields.CYLPF_YDCINDY_GAIN_DER_3_0 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_3[0];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain30.bitfields.CYLPF_YDCINDY_GAIN_DER_3_1 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_3[1];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain30.bitfields.CYLPF_YDCINDY_GAIN_DER_3_2 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_3[2];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain30.bitfields.CYLPF_YDCINDY_GAIN_DER_3_3 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_3[3];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain30.bitfields.CYLPF_YDCINDY_GAIN_DER_3_4 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_3[4];

    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain50.bitfields.CYLPF_YDCINDY_GAIN_DER_5_0 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_5[0];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain50.bitfields.CYLPF_YDCINDY_GAIN_DER_5_1 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_5[1];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain50.bitfields.CYLPF_YDCINDY_GAIN_DER_5_2 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_5[2];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain50.bitfields.CYLPF_YDCINDY_GAIN_DER_5_3 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_5[3];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain50.bitfields.CYLPF_YDCINDY_GAIN_DER_5_4 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_5[4];

    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain5X0.bitfields.CYLPF_YDCINDY_GAIN_DER_5X_0 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_5X[0];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain5X0.bitfields.CYLPF_YDCINDY_GAIN_DER_5X_1 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_5X[1];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain5X0.bitfields.CYLPF_YDCINDY_GAIN_DER_5X_2 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_5X[2];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain5X0.bitfields.CYLPF_YDCINDY_GAIN_DER_5X_3 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_5X[3];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain5X0.bitfields.CYLPF_YDCINDY_GAIN_DER_5X_4 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_5X[4];

    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain70.bitfields.CYLPF_YDCINDY_GAIN_DER_7_0 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_7[0];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain70.bitfields.CYLPF_YDCINDY_GAIN_DER_7_1 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_7[1];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain70.bitfields.CYLPF_YDCINDY_GAIN_DER_7_2 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_7[2];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain70.bitfields.CYLPF_YDCINDY_GAIN_DER_7_3 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_7[3];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain70.bitfields.CYLPF_YDCINDY_GAIN_DER_7_4 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_7[4];

    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain90.bitfields.CYLPF_YDCINDY_GAIN_DER_9_0 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_9[0];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain90.bitfields.CYLPF_YDCINDY_GAIN_DER_9_1 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_9[1];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain90.bitfields.CYLPF_YDCINDY_GAIN_DER_9_2 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_9[2];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain90.bitfields.CYLPF_YDCINDY_GAIN_DER_9_3 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_9[3];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain90.bitfields.CYLPF_YDCINDY_GAIN_DER_9_4 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_9[4];

    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain9X0.bitfields.CYLPF_YDCINDY_GAIN_DER_9X_0 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_9X[0];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain9X0.bitfields.CYLPF_YDCINDY_GAIN_DER_9X_1 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_9X[1];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain9X0.bitfields.CYLPF_YDCINDY_GAIN_DER_9X_2 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_9X[2];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain9X0.bitfields.CYLPF_YDCINDY_GAIN_DER_9X_3 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_9X[3];
    pPassRegCmd->cylpfPostLensGainCmd.yDCIndYGain9X0.bitfields.CYLPF_YDCINDY_GAIN_DER_9X_4 =
        pANRData->cylpf.CYLPF_YDCIndY_Gain_Der_9X[4];

    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W1X1ADD =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W1x1Add;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W1X1_CENTER =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W1x1_Center;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W3X3_DG     =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W3x3_Dg;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W3X3_HV     =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W3x3_HV;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W5X5_COMP   =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W5x5_Comp;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W5X5_DG     =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W5x5_Dg;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W5X5_HV     =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W5x5_HV;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W7X7_COMP   =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W7x7_Comp;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W7X7_DG     =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W7x7_Dg;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W7X7_HV     =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W7x7_HV;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W9X9_COMP   =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W9x9_Comp;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W9X9_DG     =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W9x9_Dg;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterAltKernel.bitfields.CYLPF_YFILTER_ALTKERNEL__W9X9_HV     =
        pANRData->cylpf.CYLPF_YFilter_AltKernel__W9x9_HV;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterBaseBlendFarC.bitfields.CYLPF_YFILTER_CNRBASEBLENDFAR_C =
        pANRData->cylpf.CYLPF_YFilter_CnrBaseBlendFar_C;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterBaseBlendFarY.bitfields.CYLPF_YFILTER_CNRBASEBLENDFAR_Y =
        pANRData->cylpf.CYLPF_YFilter_CnrBaseBlendFar_Y;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterConfig.bitfields.CYLPF_YFILTER_CFG__ALTFILTERSIZE   =
        pANRData->cylpf.CYLPF_YFilter_Cfg__AltFilterSize;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterConfig.bitfields.CYLPF_YFILTER_CFG__DCINDTHR_OFFSET =
        pANRData->cylpf.CYLPF_YFilter_Cfg__DCIndThr_Offset;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterConfig.bitfields.CYLPF_YFILTER_CFG__DCINDTHR_SHIFT  =
        pANRData->cylpf.CYLPF_YFilter_Cfg__DCIndThr_Shift;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterConfig.bitfields.CYLPF_YFILTER_CFG__ENABLECOMP   =
        pANRData->cylpf.CYLPF_YFilter_Cfg__EnableComp;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterConfig.bitfields.CYLPF_YFILTER_CFG__ENABLEALTCOMP   =
        pANRData->cylpf.CYLPF_YFilter_Cfg__EnableAltComp;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterConfig.bitfields.CYLPF_YFILTER_CFG__FILTERSIZE      =
        pANRData->cylpf.CYLPF_YFilter_Cfg__FilterSize;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterDCIndFlags.bitfields.CYLPF_YFILTER_DCINDDERFLAGS    =
        pANRData->cylpf.CYLPF_YFilter_DCIndDerFlags;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterDer2Flags.bitfields.CYLPF_YFILTER_DER2FLAGS         =
        pANRData->cylpf.CYLPF_YFilter_Der2Flags;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterDerFlags.bitfields.CYLPF_YFILTER_FILTDERFLAGS       =
        pANRData->cylpf.CYLPF_YFilter_FiltDerFlags;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterDirConfig.bitfields.CYLPF_YFILTER_DIRECTIONALCFG    =
        pANRData->cylpf.CYLPF_YFilter_DirectionalCfg;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterExternalDirConfig.bitfields.CYLPF_YFILTER_DIRECTIONALCFGX =
        pANRData->cylpf.CYLPF_YFilter_DirectionalCfgX;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W1X1ADD     =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W1x1Add;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W1X1_CENTER =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W1x1_Center;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W3X3_DG     =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W3x3_Dg;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W3X3_HV     =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W3x3_HV;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W5X5_COMP   =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W5x5_Comp;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W5X5_DG     =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W5x5_Dg;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W5X5_HV     =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W5x5_HV;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W7X7_COMP   =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W7x7_Comp;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W7X7_DG     =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W7x7_Dg;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W7X7_HV     =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W7x7_HV;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W9X9_COMP   =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W9x9_Comp;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W9X9_DG     =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W9x9_Dg;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterKernel.bitfields.CYLPF_YFILTER_KERNEL__W9X9_HV     =
        pANRData->cylpf.CYLPF_YFilter_Kernel__W9x9_HV;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterUCTB0.bitfields.CYLPF_YFILTER_UCTB_0 =
        pANRData->cylpf.CYLPF_YFilter_UCTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUCTB0.bitfields.CYLPF_YFILTER_UCTB_1 =
        pANRData->cylpf.CYLPF_YFilter_UCTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUCTB0.bitfields.CYLPF_YFILTER_UCTB_2 =
        pANRData->cylpf.CYLPF_YFilter_UCTb[2];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUCTB1.bitfields.CYLPF_YFILTER_UCTB_3 =
        pANRData->cylpf.CYLPF_YFilter_UCTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUCTB1.bitfields.CYLPF_YFILTER_UCTB_4 =
        pANRData->cylpf.CYLPF_YFilter_UCTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUCTB1.bitfields.CYLPF_YFILTER_UCTB_5 =
        pANRData->cylpf.CYLPF_YFilter_UCTb[5];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUCTB2.bitfields.CYLPF_YFILTER_UCTB_6 =
        pANRData->cylpf.CYLPF_YFilter_UCTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUCTB2.bitfields.CYLPF_YFILTER_UCTB_7 =
        pANRData->cylpf.CYLPF_YFilter_UCTb[7];

    pPassRegCmd->cylpfPostLensGainCmd.yFilterUTBLimit.bitfields.CYLPF_YFILTER_UTB_LIMITS__BOTLIM =
        pANRData->cylpf.CYLPF_YFilter_UTb_Limits__BotLim;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUTBLimit.bitfields.CYLPF_YFILTER_UTB_LIMITS__TOPLIM =
        pANRData->cylpf.CYLPF_YFilter_UTb_Limits__TopLim;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterUThrFarExMod.bitfields.CYLPF_YFILTER_UTHRFARXMOD__OFFSET =
        pANRData->cylpf.CYLPF_YFilter_UThrFarXMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUThrFarExMod.bitfields.CYLPF_YFILTER_UTHRFARXMOD__SCALE  =
        pANRData->cylpf.CYLPF_YFilter_UThrFarXMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterUThrFarMod.bitfields.CYLPF_YFILTER_UTHRFARMOD__OFFSET =
        pANRData->cylpf.CYLPF_YFilter_UThrFarMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUThrFarMod.bitfields.CYLPF_YFILTER_UTHRFARMOD__SCALE  =
        pANRData->cylpf.CYLPF_YFilter_UThrFarMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterUVLmit.bitfields.CYLPF_YFILTER_UVLIMIT =
        pANRData->cylpf.CYLPF_YFilter_UVlimit;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB0.bitfields.CYLPF_YFILTER_UYTB_0  =
        pANRData->cylpf.CYLPF_YFilter_UYTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB0.bitfields.CYLPF_YFILTER_UYTB_1  =
        pANRData->cylpf.CYLPF_YFilter_UYTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB0.bitfields.CYLPF_YFILTER_UYTB_2  =
        pANRData->cylpf.CYLPF_YFilter_UYTb[2];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB0.bitfields.CYLPF_YFILTER_UYTB_3  =
        pANRData->cylpf.CYLPF_YFilter_UYTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB1.bitfields.CYLPF_YFILTER_UYTB_4  =
        pANRData->cylpf.CYLPF_YFilter_UYTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB1.bitfields.CYLPF_YFILTER_UYTB_5  =
        pANRData->cylpf.CYLPF_YFilter_UYTb[5];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB1.bitfields.CYLPF_YFILTER_UYTB_6  =
        pANRData->cylpf.CYLPF_YFilter_UYTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB1.bitfields.CYLPF_YFILTER_UYTB_7  =
        pANRData->cylpf.CYLPF_YFilter_UYTb[7];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB2.bitfields.CYLPF_YFILTER_UYTB_8  =
        pANRData->cylpf.CYLPF_YFilter_UYTb[8];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB2.bitfields.CYLPF_YFILTER_UYTB_9  =
        pANRData->cylpf.CYLPF_YFilter_UYTb[9];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB2.bitfields.CYLPF_YFILTER_UYTB_10 =
        pANRData->cylpf.CYLPF_YFilter_UYTb[10];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB2.bitfields.CYLPF_YFILTER_UYTB_11 =
        pANRData->cylpf.CYLPF_YFilter_UYTb[11];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB3.bitfields.CYLPF_YFILTER_UYTB_12 =
        pANRData->cylpf.CYLPF_YFilter_UYTb[12];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB3.bitfields.CYLPF_YFILTER_UYTB_13 =
        pANRData->cylpf.CYLPF_YFilter_UYTb[13];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB3.bitfields.CYLPF_YFILTER_UYTB_14 =
        pANRData->cylpf.CYLPF_YFilter_UYTb[14];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB3.bitfields.CYLPF_YFILTER_UYTB_15 =
        pANRData->cylpf.CYLPF_YFilter_UYTb[15];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterUYTB4.bitfields.CYLPF_YFILTER_UYTB_16 =
        pANRData->cylpf.CYLPF_YFilter_UYTb[16];

    pPassRegCmd->cylpfPostLensGainCmd.yFilterVCTB0.bitfields.CYLPF_YFILTER_VCTB_0 =
        pANRData->cylpf.CYLPF_YFilter_VCTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVCTB0.bitfields.CYLPF_YFILTER_VCTB_1 =
        pANRData->cylpf.CYLPF_YFilter_VCTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVCTB0.bitfields.CYLPF_YFILTER_VCTB_2 =
        pANRData->cylpf.CYLPF_YFilter_VCTb[2];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVCTB1.bitfields.CYLPF_YFILTER_VCTB_3 =
        pANRData->cylpf.CYLPF_YFilter_VCTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVCTB1.bitfields.CYLPF_YFILTER_VCTB_4 =
        pANRData->cylpf.CYLPF_YFilter_VCTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVCTB1.bitfields.CYLPF_YFILTER_VCTB_5 =
        pANRData->cylpf.CYLPF_YFilter_VCTb[5];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVCTB2.bitfields.CYLPF_YFILTER_VCTB_6 =
        pANRData->cylpf.CYLPF_YFilter_VCTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVCTB2.bitfields.CYLPF_YFILTER_VCTB_7 =
        pANRData->cylpf.CYLPF_YFilter_VCTb[7];

    pPassRegCmd->cylpfPostLensGainCmd.yFilterVTBLimit.bitfields.CYLPF_YFILTER_VTB_LIMITS__BOTLIM =
        pANRData->cylpf.CYLPF_YFilter_VTb_Limits__BotLim;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVTBLimit.bitfields.CYLPF_YFILTER_VTB_LIMITS__TOPLIM =
        pANRData->cylpf.CYLPF_YFilter_VTb_Limits__TopLim;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterVThrFarExMod.bitfields.CYLPF_YFILTER_VTHRFARXMOD__OFFSET =
        pANRData->cylpf.CYLPF_YFilter_VThrFarXMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVThrFarExMod.bitfields.CYLPF_YFILTER_VTHRFARXMOD__SCALE  =
        pANRData->cylpf.CYLPF_YFilter_VThrFarXMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterVThrFarMod.bitfields.CYLPF_YFILTER_VTHRFARMOD__OFFSET =
        pANRData->cylpf.CYLPF_YFilter_VThrFarMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVThrFarMod.bitfields.CYLPF_YFILTER_VTHRFARMOD__SCALE  =
        pANRData->cylpf.CYLPF_YFilter_VThrFarMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB0.bitfields.CYLPF_YFILTER_VYTB_0  =
        pANRData->cylpf.CYLPF_YFilter_VYTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB0.bitfields.CYLPF_YFILTER_VYTB_1  =
        pANRData->cylpf.CYLPF_YFilter_VYTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB0.bitfields.CYLPF_YFILTER_VYTB_2  =
        pANRData->cylpf.CYLPF_YFilter_VYTb[2];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB0.bitfields.CYLPF_YFILTER_VYTB_3  =
        pANRData->cylpf.CYLPF_YFilter_VYTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB1.bitfields.CYLPF_YFILTER_VYTB_4  =
        pANRData->cylpf.CYLPF_YFilter_VYTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB1.bitfields.CYLPF_YFILTER_VYTB_5  =
        pANRData->cylpf.CYLPF_YFilter_VYTb[5];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB1.bitfields.CYLPF_YFILTER_VYTB_6  =
        pANRData->cylpf.CYLPF_YFilter_VYTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB1.bitfields.CYLPF_YFILTER_VYTB_7  =
        pANRData->cylpf.CYLPF_YFilter_VYTb[7];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB2.bitfields.CYLPF_YFILTER_VYTB_8  =
        pANRData->cylpf.CYLPF_YFilter_VYTb[8];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB2.bitfields.CYLPF_YFILTER_VYTB_9  =
        pANRData->cylpf.CYLPF_YFilter_VYTb[9];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB2.bitfields.CYLPF_YFILTER_VYTB_10 =
        pANRData->cylpf.CYLPF_YFilter_VYTb[10];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB2.bitfields.CYLPF_YFILTER_VYTB_11 =
        pANRData->cylpf.CYLPF_YFilter_VYTb[11];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB3.bitfields.CYLPF_YFILTER_VYTB_12 =
        pANRData->cylpf.CYLPF_YFilter_VYTb[12];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB3.bitfields.CYLPF_YFILTER_VYTB_13 =
        pANRData->cylpf.CYLPF_YFilter_VYTb[13];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB3.bitfields.CYLPF_YFILTER_VYTB_14 =
        pANRData->cylpf.CYLPF_YFilter_VYTb[14];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB3.bitfields.CYLPF_YFILTER_VYTB_15 =
        pANRData->cylpf.CYLPF_YFilter_VYTb[15];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterVYTB4.bitfields.CYLPF_YFILTER_VYTB_16 =
        pANRData->cylpf.CYLPF_YFilter_VYTb[16];

    pPassRegCmd->cylpfPostLensGainCmd.yFilterYCTB0.bitfields.CYLPF_YFILTER_YCTB_0 =
        pANRData->cylpf.CYLPF_YFilter_YCTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYCTB0.bitfields.CYLPF_YFILTER_YCTB_1 =
        pANRData->cylpf.CYLPF_YFilter_YCTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYCTB1.bitfields.CYLPF_YFILTER_YCTB_2 =
        pANRData->cylpf.CYLPF_YFilter_YCTb[2];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYCTB1.bitfields.CYLPF_YFILTER_YCTB_3 =
        pANRData->cylpf.CYLPF_YFilter_YCTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYCTB2.bitfields.CYLPF_YFILTER_YCTB_4 =
        pANRData->cylpf.CYLPF_YFilter_YCTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYCTB2.bitfields.CYLPF_YFILTER_YCTB_5 =
        pANRData->cylpf.CYLPF_YFilter_YCTb[5];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYCTB3.bitfields.CYLPF_YFILTER_YCTB_6 =
        pANRData->cylpf.CYLPF_YFilter_YCTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYCTB3.bitfields.CYLPF_YFILTER_YCTB_7 =
        pANRData->cylpf.CYLPF_YFilter_YCTb[7];

    pPassRegCmd->cylpfPostLensGainCmd.yFilterYTBLimit.bitfields.CYLPF_YFILTER_YTB_LIMITS__BOTLIM =
        pANRData->cylpf.CYLPF_YFilter_YTb_Limits__BotLim;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYTBLimit.bitfields.CYLPF_YFILTER_YTB_LIMITS__TOPLIM =
        pANRData->cylpf.CYLPF_YFilter_YTb_Limits__TopLim;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterYThrCloseMod.bitfields.CYLPF_YFILTER_YTHRCLOSEXMOD__OFFSET =
        pANRData->cylpf.CYLPF_YFilter_YThrCloseXMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYThrCloseMod.bitfields.CYLPF_YFILTER_YTHRCLOSEXMOD__SCALE  =
        pANRData->cylpf.CYLPF_YFilter_YThrCloseXMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterYThrehClose3Mod.bitfields.CYLPF_YFILTER_YTHRCLOSE3MOD__OFFSET =
        pANRData->cylpf.CYLPF_YFilter_YThrClose3Mod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYThrehClose3Mod.bitfields.CYLPF_YFILTER_YTHRCLOSE3MOD__SCALE  =
        pANRData->cylpf.CYLPF_YFilter_YThrClose3Mod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterYThreshDer2Close3Mod.bitfields.CYLPF_YFILTER_YTHRDER2CLOSE3MOD__OFFSET =
        pANRData->cylpf.CYLPF_YFilter_YThrDer2Close3Mod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYThreshDer2Close3Mod.bitfields.CYLPF_YFILTER_YTHRDER2CLOSE3MOD__SCALE  =
        pANRData->cylpf.CYLPF_YFilter_YThrDer2Close3Mod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterYThrFarExMod.bitfields.CYLPF_YFILTER_YTHRFARXMOD__OFFSET =
        pANRData->cylpf.CYLPF_YFilter_YThrFarXMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYThrFarExMod.bitfields.CYLPF_YFILTER_YTHRFARXMOD__SCALE  =
        pANRData->cylpf.CYLPF_YFilter_YThrFarXMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterYThrFarMod.bitfields.CYLPF_YFILTER_YTHRFARMOD__OFFSET =
        pANRData->cylpf.CYLPF_YFilter_YThrFarMod__Offset;
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYThrFarMod.bitfields.CYLPF_YFILTER_YTHRFARMOD__SCALE  =
        pANRData->cylpf.CYLPF_YFilter_YThrFarMod__Scale;

    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB0.bitfields.CYLPF_YFILTER_YYTB_0  =
        pANRData->cylpf.CYLPF_YFilter_YYTb[0];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB0.bitfields.CYLPF_YFILTER_YYTB_1  =
        pANRData->cylpf.CYLPF_YFilter_YYTb[1];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB0.bitfields.CYLPF_YFILTER_YYTB_2  =
        pANRData->cylpf.CYLPF_YFilter_YYTb[2];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB1.bitfields.CYLPF_YFILTER_YYTB_3  =
        pANRData->cylpf.CYLPF_YFilter_YYTb[3];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB1.bitfields.CYLPF_YFILTER_YYTB_4  =
        pANRData->cylpf.CYLPF_YFilter_YYTb[4];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB1.bitfields.CYLPF_YFILTER_YYTB_5  =
        pANRData->cylpf.CYLPF_YFilter_YYTb[5];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB2.bitfields.CYLPF_YFILTER_YYTB_6  =
        pANRData->cylpf.CYLPF_YFilter_YYTb[6];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB2.bitfields.CYLPF_YFILTER_YYTB_7  =
        pANRData->cylpf.CYLPF_YFilter_YYTb[7];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB2.bitfields.CYLPF_YFILTER_YYTB_8  =
        pANRData->cylpf.CYLPF_YFilter_YYTb[8];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB3.bitfields.CYLPF_YFILTER_YYTB_9  =
        pANRData->cylpf.CYLPF_YFilter_YYTb[9];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB3.bitfields.CYLPF_YFILTER_YYTB_10 =
        pANRData->cylpf.CYLPF_YFilter_YYTb[10];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB3.bitfields.CYLPF_YFILTER_YYTB_11 =
        pANRData->cylpf.CYLPF_YFilter_YYTb[11];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB4.bitfields.CYLPF_YFILTER_YYTB_12 =
        pANRData->cylpf.CYLPF_YFilter_YYTb[12];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB4.bitfields.CYLPF_YFILTER_YYTB_13 =
        pANRData->cylpf.CYLPF_YFilter_YYTb[13];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB4.bitfields.CYLPF_YFILTER_YYTB_14 =
        pANRData->cylpf.CYLPF_YFilter_YYTb[14];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB5.bitfields.CYLPF_YFILTER_YYTB_15 =
        pANRData->cylpf.CYLPF_YFilter_YYTb[15];
    pPassRegCmd->cylpfPostLensGainCmd.yFilterYYTB5.bitfields.CYLPF_YFILTER_YYTB_16 =
        pANRData->cylpf.CYLPF_YFilter_YYTb[16];

    return CamxResultSuccess;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ANRRegisterSetting::SetCNRRegisters
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CamxResult ANRRegisterSetting::SetCNRRegisters(
    ANR_REG_PASS*      pANRData,
    IPEANRRegCmd*      pPassRegCmd)
{
    pPassRegCmd->cnrCmd.angleInternal.bitfields.CNR_AINTERNAL_0 = pANRData->cnr.CNR_AInternal[0];
    pPassRegCmd->cnrCmd.angleInternal.bitfields.CNR_AINTERNAL_1 = pANRData->cnr.CNR_AInternal[1];
    pPassRegCmd->cnrCmd.angleInternal.bitfields.CNR_AINTERNAL_2 = pANRData->cnr.CNR_AInternal[2];
    pPassRegCmd->cnrCmd.angleInternal.bitfields.CNR_AINTERNAL_3 = pANRData->cnr.CNR_AInternal[3];
    pPassRegCmd->cnrCmd.angleInternal.bitfields.CNR_AINTERNAL_4 = pANRData->cnr.CNR_AInternal[4];


    pPassRegCmd->cnrCmd.angleMax0.bitfields.CNR_AMAX_0 = pANRData->cnr.CNR_AMax[0];
    pPassRegCmd->cnrCmd.angleMax0.bitfields.CNR_AMAX_1 = pANRData->cnr.CNR_AMax[1];
    pPassRegCmd->cnrCmd.angleMax1.bitfields.CNR_AMAX_2 = pANRData->cnr.CNR_AMax[2];
    pPassRegCmd->cnrCmd.angleMax1.bitfields.CNR_AMAX_3 = pANRData->cnr.CNR_AMax[3];
    pPassRegCmd->cnrCmd.angleMax2.bitfields.CNR_AMAX_4 = pANRData->cnr.CNR_AMax[4];

    pPassRegCmd->cnrCmd.angleMin0.bitfields.CNR_AMIN_0 = pANRData->cnr.CNR_AMin[0];
    pPassRegCmd->cnrCmd.angleMin0.bitfields.CNR_AMIN_1 = pANRData->cnr.CNR_AMin[1];
    pPassRegCmd->cnrCmd.angleMin1.bitfields.CNR_AMIN_2 = pANRData->cnr.CNR_AMin[2];
    pPassRegCmd->cnrCmd.angleMin1.bitfields.CNR_AMIN_3 = pANRData->cnr.CNR_AMin[3];
    pPassRegCmd->cnrCmd.angleMin2.bitfields.CNR_AMIN_4 = pANRData->cnr.CNR_AMin[4];

    pPassRegCmd->cnrCmd.blendFactorC0.bitfields.CNR_BLENDFACTOR_C_0 = pANRData->cnr.CNR_BlendFactor_C[0];
    pPassRegCmd->cnrCmd.blendFactorC0.bitfields.CNR_BLENDFACTOR_C_1 = pANRData->cnr.CNR_BlendFactor_C[1];
    pPassRegCmd->cnrCmd.blendFactorC0.bitfields.CNR_BLENDFACTOR_C_2 = pANRData->cnr.CNR_BlendFactor_C[2];
    pPassRegCmd->cnrCmd.blendFactorC0.bitfields.CNR_BLENDFACTOR_C_3 = pANRData->cnr.CNR_BlendFactor_C[3];
    pPassRegCmd->cnrCmd.blendFactorC1.bitfields.CNR_BLENDFACTOR_C_4 = pANRData->cnr.CNR_BlendFactor_C[4];

    pPassRegCmd->cnrCmd.blendFactorYALT0.bitfields.CNR_BLENDFACTOR_Y_ALT_0 = pANRData->cnr.CNR_BlendFactor_Y_Alt[0];
    pPassRegCmd->cnrCmd.blendFactorYALT0.bitfields.CNR_BLENDFACTOR_Y_ALT_1 = pANRData->cnr.CNR_BlendFactor_Y_Alt[1];
    pPassRegCmd->cnrCmd.blendFactorYALT0.bitfields.CNR_BLENDFACTOR_Y_ALT_2 = pANRData->cnr.CNR_BlendFactor_Y_Alt[2];
    pPassRegCmd->cnrCmd.blendFactorYALT0.bitfields.CNR_BLENDFACTOR_Y_ALT_3 = pANRData->cnr.CNR_BlendFactor_Y_Alt[3];
    pPassRegCmd->cnrCmd.blendFactorYALT1.bitfields.CNR_BLENDFACTOR_Y_ALT_4 = pANRData->cnr.CNR_BlendFactor_Y_Alt[4];

    pPassRegCmd->cnrCmd.blendFactorYDC0.bitfields.CNR_BLENDFACTOR_Y_DC_0 = pANRData->cnr.CNR_BlendFactor_Y_Dc[0];
    pPassRegCmd->cnrCmd.blendFactorYDC0.bitfields.CNR_BLENDFACTOR_Y_DC_1 = pANRData->cnr.CNR_BlendFactor_Y_Dc[1];
    pPassRegCmd->cnrCmd.blendFactorYDC0.bitfields.CNR_BLENDFACTOR_Y_DC_2 = pANRData->cnr.CNR_BlendFactor_Y_Dc[2];
    pPassRegCmd->cnrCmd.blendFactorYDC0.bitfields.CNR_BLENDFACTOR_Y_DC_3 = pANRData->cnr.CNR_BlendFactor_Y_Dc[3];
    pPassRegCmd->cnrCmd.blendFactorYDC1.bitfields.CNR_BLENDFACTOR_Y_DC_4 = pANRData->cnr.CNR_BlendFactor_Y_Dc[4];

    pPassRegCmd->cnrCmd.boundaryProbability.bitfields.CNR_BOUNDARY_PROBABILITY_0 = pANRData->cnr.CNR_Boundary_Probability[0];
    pPassRegCmd->cnrCmd.boundaryProbability.bitfields.CNR_BOUNDARY_PROBABILITY_1 = pANRData->cnr.CNR_Boundary_Probability[1];
    pPassRegCmd->cnrCmd.boundaryProbability.bitfields.CNR_BOUNDARY_PROBABILITY_2 = pANRData->cnr.CNR_Boundary_Probability[2];
    pPassRegCmd->cnrCmd.boundaryProbability.bitfields.CNR_BOUNDARY_PROBABILITY_3 = pANRData->cnr.CNR_Boundary_Probability[3];
    pPassRegCmd->cnrCmd.boundaryProbability.bitfields.CNR_BOUNDARY_PROBABILITY_4 = pANRData->cnr.CNR_Boundary_Probability[4];

    pPassRegCmd->cnrCmd.bypass.bitfields.CNR_BYPASS = pANRData->cnr.CNR_Bypass;

    pPassRegCmd->cnrCmd.cMode.bitfields.CNR_C_MODE_0 = pANRData->cnr.CNR_C_Mode[0];
    pPassRegCmd->cnrCmd.cMode.bitfields.CNR_C_MODE_1 = pANRData->cnr.CNR_C_Mode[1];
    pPassRegCmd->cnrCmd.cMode.bitfields.CNR_C_MODE_2 = pANRData->cnr.CNR_C_Mode[2];
    pPassRegCmd->cnrCmd.cMode.bitfields.CNR_C_MODE_3 = pANRData->cnr.CNR_C_Mode[3];
    pPassRegCmd->cnrCmd.cMode.bitfields.CNR_C_MODE_4 = pANRData->cnr.CNR_C_Mode[4];

    pPassRegCmd->cnrCmd.colorSatMax0.bitfields.CNR_CSMAX_0 = pANRData->cnr.CNR_CSMax[0];
    pPassRegCmd->cnrCmd.colorSatMax0.bitfields.CNR_CSMAX_1 = pANRData->cnr.CNR_CSMax[1];
    pPassRegCmd->cnrCmd.colorSatMax1.bitfields.CNR_CSMAX_2 = pANRData->cnr.CNR_CSMax[2];
    pPassRegCmd->cnrCmd.colorSatMax1.bitfields.CNR_CSMAX_3 = pANRData->cnr.CNR_CSMax[3];
    pPassRegCmd->cnrCmd.colorSatMax2.bitfields.CNR_CSMAX_4 = pANRData->cnr.CNR_CSMax[4];

    pPassRegCmd->cnrCmd.colorSatMin0.bitfields.CNR_CSMIN_0 = pANRData->cnr.CNR_CSMin[0];
    pPassRegCmd->cnrCmd.colorSatMin0.bitfields.CNR_CSMIN_1 = pANRData->cnr.CNR_CSMin[1];
    pPassRegCmd->cnrCmd.colorSatMin1.bitfields.CNR_CSMIN_2 = pANRData->cnr.CNR_CSMin[2];
    pPassRegCmd->cnrCmd.colorSatMin1.bitfields.CNR_CSMIN_3 = pANRData->cnr.CNR_CSMin[3];
    pPassRegCmd->cnrCmd.colorSatMin2.bitfields.CNR_CSMIN_4 = pANRData->cnr.CNR_CSMin[4];

    pPassRegCmd->cnrCmd.config.bitfields.CNR_EXT_ENABLE   = pANRData->cnr.CNR_Ext_Enable;
    pPassRegCmd->cnrCmd.config.bitfields.CNR_EXT_LIMIT    = pANRData->cnr.CNR_Ext_Limit;
    pPassRegCmd->cnrCmd.config.bitfields.CNR_INPUT_SELECT = pANRData->cnr.CNR_Input_Select;
    pPassRegCmd->cnrCmd.config.bitfields.CNR_NUM_COLORS   = pANRData->cnr.CNR_Num_Colors;

    pPassRegCmd->cnrCmd.combine0.bitfields.CNR_FD_COMBINE_0 = pANRData->cnr.CNR_FD_Combine[0];
    pPassRegCmd->cnrCmd.combine0.bitfields.CNR_FD_COMBINE_1 = pANRData->cnr.CNR_FD_Combine[1];
    pPassRegCmd->cnrCmd.combine0.bitfields.CNR_FD_COMBINE_2 = pANRData->cnr.CNR_FD_Combine[2];
    pPassRegCmd->cnrCmd.combine0.bitfields.CNR_FD_COMBINE_3 = pANRData->cnr.CNR_FD_Combine[3];
    pPassRegCmd->cnrCmd.combine0.bitfields.CNR_FD_COMBINE_4 = pANRData->cnr.CNR_FD_Combine[4];

    pPassRegCmd->cnrCmd.debug.bitfields.CNR_DEBUG = pANRData->cnr.CNR_Debug;

    pPassRegCmd->cnrCmd.fdConfig.bitfields.CNR_FD_ENABLE      = pANRData->cnr.CNR_FD_Enable;
    pPassRegCmd->cnrCmd.fdConfig.bitfields.CNR_FD_NUM_REGIONS = pANRData->cnr.CNR_FD_Num_Regions;

    pPassRegCmd->cnrCmd.fdOffset.bitfields.CNR_FD_XOFFSET = pANRData->cnr.CNR_FD_XOffset;
    pPassRegCmd->cnrCmd.fdOffset.bitfields.CNR_FD_YOFFSET = pANRData->cnr.CNR_FD_YOffset;

    pPassRegCmd->cnrCmd.filterMode.bitfields.CNR_BLENDFACTOR_FILTER_MODE_C = pANRData->cnr.CNR_BlendFactor_Filter_Mode_C;
    pPassRegCmd->cnrCmd.filterMode.bitfields.CNR_BLENDFACTOR_FILTER_MODE_Y = pANRData->cnr.CNR_BlendFactor_Filter_Mode_Y;
    pPassRegCmd->cnrCmd.filterMode.bitfields.CNR_GAINOFFSET_FILTER_MODE_C  = pANRData->cnr.CNR_GainOffset_Filter_Mode_C;
    pPassRegCmd->cnrCmd.filterMode.bitfields.CNR_GAINOFFSET_FILTER_MODE_Y  = pANRData->cnr.CNR_GainOffset_Filter_Mode_Y;

    pPassRegCmd->cnrCmd.gainFactorUVC0.bitfields.CNR_GAINFACTOR_UV_C_0 = pANRData->cnr.CNR_GainFactor_UV_C[0];
    pPassRegCmd->cnrCmd.gainFactorUVC0.bitfields.CNR_GAINFACTOR_UV_C_1 = pANRData->cnr.CNR_GainFactor_UV_C[1];
    pPassRegCmd->cnrCmd.gainFactorUVC1.bitfields.CNR_GAINFACTOR_UV_C_2 = pANRData->cnr.CNR_GainFactor_UV_C[2];
    pPassRegCmd->cnrCmd.gainFactorUVC1.bitfields.CNR_GAINFACTOR_UV_C_3 = pANRData->cnr.CNR_GainFactor_UV_C[3];
    pPassRegCmd->cnrCmd.gainFactorUVC2.bitfields.CNR_GAINFACTOR_UV_C_4 = pANRData->cnr.CNR_GainFactor_UV_C[4];

    pPassRegCmd->cnrCmd.gainFactorUVY0.bitfields.CNR_GAINFACTOR_UV_Y_0 = pANRData->cnr.CNR_GainFactor_UV_Y[0];
    pPassRegCmd->cnrCmd.gainFactorUVY0.bitfields.CNR_GAINFACTOR_UV_Y_1 = pANRData->cnr.CNR_GainFactor_UV_Y[1];
    pPassRegCmd->cnrCmd.gainFactorUVY1.bitfields.CNR_GAINFACTOR_UV_Y_2 = pANRData->cnr.CNR_GainFactor_UV_Y[2];
    pPassRegCmd->cnrCmd.gainFactorUVY1.bitfields.CNR_GAINFACTOR_UV_Y_3 = pANRData->cnr.CNR_GainFactor_UV_Y[3];
    pPassRegCmd->cnrCmd.gainFactorUVY2.bitfields.CNR_GAINFACTOR_UV_Y_4 = pANRData->cnr.CNR_GainFactor_UV_Y[4];

    pPassRegCmd->cnrCmd.gainFactorYC0.bitfields.CNR_GAINFACTOR_Y_C_0 = pANRData->cnr.CNR_GainFactor_Y_C[0];
    pPassRegCmd->cnrCmd.gainFactorYC0.bitfields.CNR_GAINFACTOR_Y_C_1 = pANRData->cnr.CNR_GainFactor_Y_C[1];
    pPassRegCmd->cnrCmd.gainFactorYC1.bitfields.CNR_GAINFACTOR_Y_C_2 = pANRData->cnr.CNR_GainFactor_Y_C[2];
    pPassRegCmd->cnrCmd.gainFactorYC1.bitfields.CNR_GAINFACTOR_Y_C_3 = pANRData->cnr.CNR_GainFactor_Y_C[3];
    pPassRegCmd->cnrCmd.gainFactorYC2.bitfields.CNR_GAINFACTOR_Y_C_4 = pANRData->cnr.CNR_GainFactor_Y_C[4];

    pPassRegCmd->cnrCmd.gainFactorYY0.bitfields.CNR_GAINFACTOR_Y_Y_0 = pANRData->cnr.CNR_GainFactor_Y_Y[0];
    pPassRegCmd->cnrCmd.gainFactorYY0.bitfields.CNR_GAINFACTOR_Y_Y_1 = pANRData->cnr.CNR_GainFactor_Y_Y[1];
    pPassRegCmd->cnrCmd.gainFactorYY1.bitfields.CNR_GAINFACTOR_Y_Y_2 = pANRData->cnr.CNR_GainFactor_Y_Y[2];
    pPassRegCmd->cnrCmd.gainFactorYY1.bitfields.CNR_GAINFACTOR_Y_Y_3 = pANRData->cnr.CNR_GainFactor_Y_Y[3];
    pPassRegCmd->cnrCmd.gainFactorYY2.bitfields.CNR_GAINFACTOR_Y_Y_4 = pANRData->cnr.CNR_GainFactor_Y_Y[4];

    pPassRegCmd->cnrCmd.offsetUC0.bitfields.CNR_OFFSET_U_C_0 = pANRData->cnr.CNR_Offset_U_C[0];
    pPassRegCmd->cnrCmd.offsetUC0.bitfields.CNR_OFFSET_U_C_1 = pANRData->cnr.CNR_Offset_U_C[1];
    pPassRegCmd->cnrCmd.offsetUC0.bitfields.CNR_OFFSET_U_C_2 = pANRData->cnr.CNR_Offset_U_C[2];
    pPassRegCmd->cnrCmd.offsetUC1.bitfields.CNR_OFFSET_U_C_3 = pANRData->cnr.CNR_Offset_U_C[3];
    pPassRegCmd->cnrCmd.offsetUC1.bitfields.CNR_OFFSET_U_C_4 = pANRData->cnr.CNR_Offset_U_C[4];

    pPassRegCmd->cnrCmd.offsetUY0.bitfields.CNR_OFFSET_U_Y_0 = pANRData->cnr.CNR_Offset_U_Y[0];
    pPassRegCmd->cnrCmd.offsetUY0.bitfields.CNR_OFFSET_U_Y_1 = pANRData->cnr.CNR_Offset_U_Y[1];
    pPassRegCmd->cnrCmd.offsetUY0.bitfields.CNR_OFFSET_U_Y_2 = pANRData->cnr.CNR_Offset_U_Y[2];
    pPassRegCmd->cnrCmd.offsetUY1.bitfields.CNR_OFFSET_U_Y_3 = pANRData->cnr.CNR_Offset_U_Y[3];
    pPassRegCmd->cnrCmd.offsetUY1.bitfields.CNR_OFFSET_U_Y_4 = pANRData->cnr.CNR_Offset_U_Y[4];

    pPassRegCmd->cnrCmd.offsetVC0.bitfields.CNR_OFFSET_V_C_0 = pANRData->cnr.CNR_Offset_V_C[0];
    pPassRegCmd->cnrCmd.offsetVC0.bitfields.CNR_OFFSET_V_C_1 = pANRData->cnr.CNR_Offset_V_C[1];
    pPassRegCmd->cnrCmd.offsetVC0.bitfields.CNR_OFFSET_V_C_2 = pANRData->cnr.CNR_Offset_V_C[2];
    pPassRegCmd->cnrCmd.offsetVC1.bitfields.CNR_OFFSET_V_C_3 = pANRData->cnr.CNR_Offset_V_C[3];
    pPassRegCmd->cnrCmd.offsetVC1.bitfields.CNR_OFFSET_V_C_4 = pANRData->cnr.CNR_Offset_V_C[4];

    pPassRegCmd->cnrCmd.offsetVY0.bitfields.CNR_OFFSET_V_Y_0 = pANRData->cnr.CNR_Offset_V_Y[0];
    pPassRegCmd->cnrCmd.offsetVY0.bitfields.CNR_OFFSET_V_Y_1 = pANRData->cnr.CNR_Offset_V_Y[1];
    pPassRegCmd->cnrCmd.offsetVY0.bitfields.CNR_OFFSET_V_Y_2 = pANRData->cnr.CNR_Offset_V_Y[2];
    pPassRegCmd->cnrCmd.offsetVY1.bitfields.CNR_OFFSET_V_Y_3 = pANRData->cnr.CNR_Offset_V_Y[3];
    pPassRegCmd->cnrCmd.offsetVY1.bitfields.CNR_OFFSET_V_Y_4 = pANRData->cnr.CNR_Offset_V_Y[4];


    pPassRegCmd->cnrCmd.offsetYC0.bitfields.CNR_OFFSET_Y_C_0 = pANRData->cnr.CNR_Offset_Y_C[0];
    pPassRegCmd->cnrCmd.offsetYC0.bitfields.CNR_OFFSET_Y_C_1 = pANRData->cnr.CNR_Offset_Y_C[1];
    pPassRegCmd->cnrCmd.offsetYC1.bitfields.CNR_OFFSET_Y_C_2 = pANRData->cnr.CNR_Offset_Y_C[2];
    pPassRegCmd->cnrCmd.offsetYC1.bitfields.CNR_OFFSET_Y_C_3 = pANRData->cnr.CNR_Offset_Y_C[3];
    pPassRegCmd->cnrCmd.offsetYC2.bitfields.CNR_OFFSET_Y_C_4 = pANRData->cnr.CNR_Offset_Y_C[4];

    pPassRegCmd->cnrCmd.offsetYY0.bitfields.CNR_OFFSET_Y_Y_0 = pANRData->cnr.CNR_Offset_Y_Y[0];
    pPassRegCmd->cnrCmd.offsetYY0.bitfields.CNR_OFFSET_Y_Y_1 = pANRData->cnr.CNR_Offset_Y_Y[1];
    pPassRegCmd->cnrCmd.offsetYY1.bitfields.CNR_OFFSET_Y_Y_2 = pANRData->cnr.CNR_Offset_Y_Y[2];
    pPassRegCmd->cnrCmd.offsetYY1.bitfields.CNR_OFFSET_Y_Y_3 = pANRData->cnr.CNR_Offset_Y_Y[3];
    pPassRegCmd->cnrCmd.offsetYY2.bitfields.CNR_OFFSET_Y_Y_4 = pANRData->cnr.CNR_Offset_Y_Y[4];

    pPassRegCmd->cnrCmd.q0.bitfields.CNR_Q_0 = pANRData->cnr.CNR_Q[0];
    pPassRegCmd->cnrCmd.q0.bitfields.CNR_Q_1 = pANRData->cnr.CNR_Q[1];
    pPassRegCmd->cnrCmd.q0.bitfields.CNR_Q_2 = pANRData->cnr.CNR_Q[2];
    pPassRegCmd->cnrCmd.q0.bitfields.CNR_Q_3 = pANRData->cnr.CNR_Q[3];
    pPassRegCmd->cnrCmd.q1.bitfields.CNR_Q_4 = pANRData->cnr.CNR_Q[4];

    pPassRegCmd->cnrCmd.rBoundary0.bitfields.CNR_FD_REGIONS_RBOUNDARY_0 = pANRData->cnr.CNR_FD_Regions_RBoundary[0];
    pPassRegCmd->cnrCmd.rBoundary0.bitfields.CNR_FD_REGIONS_RBOUNDARY_1 = pANRData->cnr.CNR_FD_Regions_RBoundary[1];
    pPassRegCmd->cnrCmd.rBoundary1.bitfields.CNR_FD_REGIONS_RBOUNDARY_2 = pANRData->cnr.CNR_FD_Regions_RBoundary[2];
    pPassRegCmd->cnrCmd.rBoundary1.bitfields.CNR_FD_REGIONS_RBOUNDARY_3 = pANRData->cnr.CNR_FD_Regions_RBoundary[3];
    pPassRegCmd->cnrCmd.rBoundary2.bitfields.CNR_FD_REGIONS_RBOUNDARY_4 = pANRData->cnr.CNR_FD_Regions_RBoundary[4];

    pPassRegCmd->cnrCmd.rBoundaryShift0.bitfields.CNR_FD_REGIONS_RBOUNDARY_SHIFT_0 =
        pANRData->cnr.CNR_FD_Regions_RBoundary_shift[0];
    pPassRegCmd->cnrCmd.rBoundaryShift0.bitfields.CNR_FD_REGIONS_RBOUNDARY_SHIFT_1 =
        pANRData->cnr.CNR_FD_Regions_RBoundary_shift[1];
    pPassRegCmd->cnrCmd.rBoundaryShift0.bitfields.CNR_FD_REGIONS_RBOUNDARY_SHIFT_2 =
        pANRData->cnr.CNR_FD_Regions_RBoundary_shift[2];
    pPassRegCmd->cnrCmd.rBoundaryShift0.bitfields.CNR_FD_REGIONS_RBOUNDARY_SHIFT_3 =
        pANRData->cnr.CNR_FD_Regions_RBoundary_shift[3];
    pPassRegCmd->cnrCmd.rBoundaryShift0.bitfields.CNR_FD_REGIONS_RBOUNDARY_SHIFT_4 =
        pANRData->cnr.CNR_FD_Regions_RBoundary_shift[4];

    pPassRegCmd->cnrCmd.rSlope0.bitfields.CNR_FD_REGIONS_RSLOPE_0 = pANRData->cnr.CNR_FD_Regions_RSlope[0];
    pPassRegCmd->cnrCmd.rSlope0.bitfields.CNR_FD_REGIONS_RSLOPE_1 = pANRData->cnr.CNR_FD_Regions_RSlope[1];
    pPassRegCmd->cnrCmd.rSlope1.bitfields.CNR_FD_REGIONS_RSLOPE_2 = pANRData->cnr.CNR_FD_Regions_RSlope[2];
    pPassRegCmd->cnrCmd.rSlope1.bitfields.CNR_FD_REGIONS_RSLOPE_3 = pANRData->cnr.CNR_FD_Regions_RSlope[3];
    pPassRegCmd->cnrCmd.rSlope2.bitfields.CNR_FD_REGIONS_RSLOPE_4 = pANRData->cnr.CNR_FD_Regions_RSlope[4];

    pPassRegCmd->cnrCmd.rSlopeShift0.bitfields.CNR_FD_REGIONS_RSLOPE_SHIFT_0 = pANRData->cnr.CNR_FD_Regions_RSlope_shift[0];
    pPassRegCmd->cnrCmd.rSlopeShift0.bitfields.CNR_FD_REGIONS_RSLOPE_SHIFT_1 = pANRData->cnr.CNR_FD_Regions_RSlope_shift[1];
    pPassRegCmd->cnrCmd.rSlopeShift0.bitfields.CNR_FD_REGIONS_RSLOPE_SHIFT_2 = pANRData->cnr.CNR_FD_Regions_RSlope_shift[2];
    pPassRegCmd->cnrCmd.rSlopeShift0.bitfields.CNR_FD_REGIONS_RSLOPE_SHIFT_3 = pANRData->cnr.CNR_FD_Regions_RSlope_shift[3];
    pPassRegCmd->cnrCmd.rSlopeShift0.bitfields.CNR_FD_REGIONS_RSLOPE_SHIFT_4 = pANRData->cnr.CNR_FD_Regions_RSlope_shift[4];

    pPassRegCmd->cnrCmd.specialParams.bitfields.CNR_COLOR0_CSMAX_PARA = pANRData->cnr.CNR_Color0_CSMax_para;
    pPassRegCmd->cnrCmd.specialParams.bitfields.CNR_COLOR0_CSMIN_PARA = pANRData->cnr.CNR_Color0_CSMin_para;
    pPassRegCmd->cnrCmd.specialParams.bitfields.CNR_COLOR0_SAT_MODE   = pANRData->cnr.CNR_Color0_Sat_Mode;
    pPassRegCmd->cnrCmd.specialParams.bitfields.CNR_QEXT              = pANRData->cnr.CNR_QExt;

    pPassRegCmd->cnrCmd.xCenter0.bitfields.CNR_FD_REGIONS_XCENTER_0 = pANRData->cnr.CNR_FD_Regions_XCenter[0];
    pPassRegCmd->cnrCmd.xCenter0.bitfields.CNR_FD_REGIONS_XCENTER_1 = pANRData->cnr.CNR_FD_Regions_XCenter[1];
    pPassRegCmd->cnrCmd.xCenter1.bitfields.CNR_FD_REGIONS_XCENTER_2 = pANRData->cnr.CNR_FD_Regions_XCenter[2];
    pPassRegCmd->cnrCmd.xCenter1.bitfields.CNR_FD_REGIONS_XCENTER_3 = pANRData->cnr.CNR_FD_Regions_XCenter[3];
    pPassRegCmd->cnrCmd.xCenter2.bitfields.CNR_FD_REGIONS_XCENTER_4 = pANRData->cnr.CNR_FD_Regions_XCenter[4];

    pPassRegCmd->cnrCmd.yCenter0.bitfields.CNR_FD_REGIONS_YCENTER_0 = pANRData->cnr.CNR_FD_Regions_YCenter[0];
    pPassRegCmd->cnrCmd.yCenter0.bitfields.CNR_FD_REGIONS_YCENTER_1 = pANRData->cnr.CNR_FD_Regions_YCenter[1];
    pPassRegCmd->cnrCmd.yCenter1.bitfields.CNR_FD_REGIONS_YCENTER_2 = pANRData->cnr.CNR_FD_Regions_YCenter[2];
    pPassRegCmd->cnrCmd.yCenter1.bitfields.CNR_FD_REGIONS_YCENTER_3 = pANRData->cnr.CNR_FD_Regions_YCenter[3];
    pPassRegCmd->cnrCmd.yCenter2.bitfields.CNR_FD_REGIONS_YCENTER_4 = pANRData->cnr.CNR_FD_Regions_YCenter[4];

    pPassRegCmd->cnrCmd.yCompMax0.bitfields.CNR_YMAX_0 = pANRData->cnr.CNR_YMax[0];
    pPassRegCmd->cnrCmd.yCompMax0.bitfields.CNR_YMAX_1 = pANRData->cnr.CNR_YMax[1];
    pPassRegCmd->cnrCmd.yCompMax0.bitfields.CNR_YMAX_2 = pANRData->cnr.CNR_YMax[2];
    pPassRegCmd->cnrCmd.yCompMax1.bitfields.CNR_YMAX_3 = pANRData->cnr.CNR_YMax[3];
    pPassRegCmd->cnrCmd.yCompMax1.bitfields.CNR_YMAX_4 = pANRData->cnr.CNR_YMax[4];

    pPassRegCmd->cnrCmd.yCompMin0.bitfields.CNR_YMIN_0 = pANRData->cnr.CNR_YMin[0];
    pPassRegCmd->cnrCmd.yCompMin0.bitfields.CNR_YMIN_1 = pANRData->cnr.CNR_YMin[1];
    pPassRegCmd->cnrCmd.yCompMin0.bitfields.CNR_YMIN_2 = pANRData->cnr.CNR_YMin[2];
    pPassRegCmd->cnrCmd.yCompMin1.bitfields.CNR_YMIN_3 = pANRData->cnr.CNR_YMin[3];
    pPassRegCmd->cnrCmd.yCompMin1.bitfields.CNR_YMIN_4 = pANRData->cnr.CNR_YMin[4];

    return CamxResultSuccess;
}
CAMX_NAMESPACE_END